Skip to content

Commit

Permalink
Wje okta 220475 refactor link checking (okta#278)
Browse files Browse the repository at this point in the history
* wire new link checker into yarn scripts and travis
* adding known relative links to excludes
* provide custom execution and reporting for link checker
* consolidate URLs with and without trailing slash
* limit default link checking to internal links
* update packages and trim old link checker out of scripts
* roll web server functionality into link checker script
  • Loading branch information
wayneearl-okta committed May 8, 2019
1 parent e593a04 commit 2f4118c
Show file tree
Hide file tree
Showing 25 changed files with 137,796 additions and 966 deletions.
136,204 changes: 136,204 additions & 0 deletions .yarn/releases/yarn-1.15.2.js

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions .yarnrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1


lastUpdateCheck 1557164669292
yarn-path ".yarn/releases/yarn-1.15.2.js"
25 changes: 16 additions & 9 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,20 @@
"scripts": {
"dev": "yarn workspace @okta/vuepress-site dev",
"build": "yarn workspace @okta/vuepress-site build",
"broken-link-checker:all": "node scripts/broken-link-checker all",
"broken-link-checker:internal": "node scripts/broken-link-checker internal",
"broken-link-checker:external": "node scripts/broken-link-checker external",
"check-links": "yarn build && yarn broken-link-checker:internal",
"check-links:all": "yarn build && yarn start-web-server & yarn test:wait-on-local && yarn broken-link-checker:all && yarn stop-web-server",
"check-links:external": "yarn build && yarn start-web-server & yarn test:wait-on-local && yarn broken-link-checker:external && yarn stop-web-server",
"migrate": "yarn workspace @okta/migrate-from-jekyll migrate",
"test": "yarn dev & yarn test:test-local && yarn stop-all",
"test-only": "yarn test:update-web-driver && protractor tests/selenium/conf.js && yarn stop",
"test:test-local": "wait-on http-get://localhost:8080/assets/js/10.js && yarn test-only || (yarn stop && exit 1)",
"test:test-local": "yarn test:wait-on-local && yarn test-only || (yarn stop && exit 1)",
"test:update-web-driver": "./node_modules/protractor/bin/webdriver-manager update --gecko false --versions.standalone 3.141.59",
"test:stop-web-driver": "pkill -f 'webdriver-manager/selenium' || echo 'no Selenium processes found'",
"markdown-check-all": "node scripts/markdown-check",
"markdown-link-check": "node scripts/markdown-check link-check",
"markdown-lint": "node scripts/markdown-check lint",
"test:stop-web-driver": "yarn fkill -s $(pgrep -f 'webdriver-manager/selenium' || echo 99999999)",
"test:wait-on-local": "wait-for-localhost 8080 --use-get",
"markdown-lint": "node scripts/markdown-check",
"posttest": "yarn stop",
"stop": "if-env CI=true && exit 0 || yarn test:stop-web-driver || echo 'done'",
"stop-all": "if-env CI=true && exit 0 || pkill -f 'yarn' || echo 'done'",
Expand All @@ -29,7 +34,6 @@
"chalk": "^2.4.2",
"cross-env": "^5.2.0",
"if-env": "^1.0.4",
"markdown-link-check": "^3.7.2",
"mocha": "^5.2.0",
"protractor": "^5.4.2",
"recursive-readdir": "^2.2.2",
Expand All @@ -38,9 +42,12 @@
"wait-until": "^0.0.2"
},
"dependencies": {
"hoek": "^6.1.2",
"http-server": "^0.11.1",
"joi": "^14.3.1"
"broken-link-checker": "^0.7.8",
"fkill-cli": "^5.2.0",
"hoek": "^6.1.3",
"joi": "^14.3.1",
"serve": "^11.0.0",
"wait-for-localhost-cli": "^1.1.0"
},
"resolutions": {
"http-server/ecstatic": "^4.0.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ title: Microsoft

##### 1. Set Up a Microsoft App

1.1. Create a Microsoft app here: <https://apps.dev.microsoft.com/#/appList>. Instructions can be found here: https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-app-registration. You can pause once you get to the Redirect URI section, we will come back to this.
1.1. Create a Microsoft app here: Instructions can be found here: <https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app>. You can pause once you get to the Redirect URI section, we will come back to this.

1.2. Save the Application ID for later.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ When you are setting up your social Identity Provider (IdP) in Okta, there are a

For example, the value `idpuser.email` means that it takes the `email` attribute passed by the social IdP and maps it to the Okta Application User's `username` property.

You can enter an expression to reformat the value, if desired. For example, if the social username is `john.doe@mycompany.com`, you could specify the replacement of `mycompany` with `endpointA.mycompany` to make the transformed username `john.doe@endpointA.mycompany.com`. See here for more information about the [Okta Expression Language](/docs/getting_started/okta_expression_lang).
You can enter an expression to reformat the value, if desired. For example, if the social username is `john.doe@mycompany.com`, you could specify the replacement of `mycompany` with `endpointA.mycompany` to make the transformed username `john.doe@endpointA.mycompany.com`. See here for more information about the [Okta Expression Language](/reference/okta_expression_language/).

**Match against:** The Okta user property against which the IdP username is compared.

Expand All @@ -35,4 +35,4 @@ More user profile attributes are available for matching as an <ApiLifecycle acce

## Error Codes

See the [OpenID Connect and Okta Social Authentication](/reference/error_codes/#openid-connect-and-okta-social-authentication) section of the [Error Codes](/docs/api/getting_started/error_codes) API documentation.
See the [OpenID Connect and Okta Social Authentication](/reference/error_codes/#openid-connect-and-okta-social-authentication) section of the [Error Codes](/reference/error_codes/) API documentation.
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,15 @@ OpenID Connect (OIDC) is an authentication protocol built on top of OAuth 2.0. W

We will now cover the terms used in this document, and an explanation of why you should use ID tokens.

- If you'd like to jump straight to the local validation steps: [What to Check When Validating an ID Token](#what-to-check-when-validating-an-id-token)
- If you'd like to see how to validate a token directly with Okta: [Validating A Token Remotely With Okta](#validating-a-token-remotely-with-okta)
- If you want to see specifically how to accomplish this in your language of choice: [Okta Libraries to Help You Verify ID Tokens](#okta-libraries-to-help-you-verify-id-tokens)
- [Validating ID Tokens](#validating-id-tokens)
- [Overview](#overview)
- [ID Tokens vs Access Tokens](#id-tokens-vs-access-tokens)
- [What to Check When Validating an ID Token](#what-to-check-when-validating-an-id-token)
- [Retrieve The JSON Web Key Set](#retrieve-the-json-web-key-set)
- [Decode the ID Token](#decode-the-id-token)
- [Verify the Claims](#verify-the-claims)
- [Validating A Token Remotely With Okta](#validating-a-token-remotely-with-okta)
- [Okta Libraries to Help You Verify ID Tokens](#okta-libraries-to-help-you-verify-id-tokens)

A high-level overview of OpenID Connect can be found [here](/authentication-guide/auth-overview/#openid-connect).

Expand All @@ -37,7 +43,7 @@ The high-level overview of validating an ID token looks like this:

- Retrieve and parse your Okta JSON Web Keys (JWK), which should be checked periodically and cached by your application.
- Decode the ID token, which is in JSON Web Token format
- Verify the signature used to sign the ID token [Verify the Token's Signature](authentication-guide/tokens/#verify-the-token-s-signature)
- Verify the signature used to sign the ID token [Verify the Token's Signature](/authentication-guide/tokens/verifying-token-signature/)
- Verify the claims found inside the ID token

### Retrieve The JSON Web Key Set
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -297,4 +297,4 @@ At this point you should be familiar with setting up SAML enabled application to
After you have Okta working with the example Spring Security SAML application, the next step is to take the example code and move it to your production application. The specifics of how this works is different depending on how your application is set up. Pay special attention to the `securityContext.xml` which allows you to add more IDPs to the app as well as control page redirects. Before any changes are made to the `securityContext.xml` file, you should consider reading the [Spring Security SAML reference documents](http://docs.spring.io/spring-security-saml/docs/1.0.x/reference/html/) which provides a detailed overview of all the components and features of Spring Security SAML.
If you want to learn more about configuring in SAML and what to consider when writing a SAML application, Okta's in-depth [SAML guidance](/docs/getting_started/saml_guidance) is great place to learn more.
If you want to learn more about configuring in SAML and what to consider when writing a SAML application, Okta's in-depth [SAML guidance](https://www.okta.com/integrate/documentation/saml/) is great place to learn more.
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ array should not be hard coded, but should come from a dynamic datastore.

If you want to learn more about SAML and what to consider when writing a
SAML implementation, Okta's in-depth
[SAML Guidance](https://www.okta.com/integrate/documentation/single-sign-on/)
[SAML guidance](https://www.okta.com/integrate/documentation/saml/)
is a great place to learn more.

Finally, if you got this far in this guide and still have questions,
Expand Down
11 changes: 5 additions & 6 deletions packages/@okta/vuepress-site/code/python/pysaml2/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Before you can configure your application and PySAML2 set up an
Okta chiclet (application icon) that enables an Okta user to sign in to your to your application with SAML and PySAML2.

To set up Okta to connect to your application, follow the
[setting up a SAML application in Okta](/docs/guides/setting_up_a_saml_application_in_okta)
[setting up a SAML application in Okta](/authentication-guide/implementing-authentication/set-up-authz-server/)
guide. As noted in the instructions, there are two steps to change:

* *In step \#6*: Use ***PySAML2 Example*** instead of ***Example SAML application*** .
Expand Down Expand Up @@ -109,7 +109,7 @@ the following steps, you will have a working example of connecting Okta to a sam

5. Be sure to replace the contents of `${metdata_url}` with the link
that you copied in step \#10 of the
"[Setting up a SAML application in Okta](/docs/guides/setting_up_a_saml_application_in_okta)"
"[Setting up a SAML application in Okta](/authentication-guide/implementing-authentication/set-up-authz-server/)"
instructions that you followed above!

Note: The contents of `${metadata_url}` should look similar to: `https://{yourOktaDomain}/app/a0b1c2deFGHIJKLMNOPQ/sso/saml/metadata`
Expand Down Expand Up @@ -194,10 +194,9 @@ example, on a production system, the contents of the
`metadata_url_for` dictionary cannot be hard coded, but must come
from a dynamic datastore.
If you want to learn more about SAML and what to consider when writing a
SAML implementation, Okta's in-depth
[SAML Guidance](https://www.okta.com/integrate/documentation/single-sign-on/)
If you want to learn more about SAML and what to consider when writing a SAML implementation, Okta's
in-depth [SAML guidance](https://www.okta.com/integrate/documentation/saml/)
is a great place to learn more.
Finally, if you got this far in this guide and still have questions,
please reach out to us at: [developers@okta.com](mailto:developers@okta.com)
please reach out to me at: joel.franusic@okta.com.
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ The Okta API currently requires the custom HTTP authentication scheme `SSWS` for

> See [Obtaining a token](/docs/api/getting_started/getting_a_token/) for instructions on how to get an API key for your organization.
The API key (API token) isn't interchangeable with an Okta [session token](/docs/api/resources/authn/#session-token), access tokens or ID tokens used with [OAuth 2.0 and OpenID Connect](/docs/api/resources/oauth2/).
The API key (API token) isn't interchangeable with an Okta [session token](/docs/api/resources/authn/#session-token), access tokens or ID tokens used with [OAuth 2.0 and OpenID Connect](/docs/api/resources/oidc/).

## Pagination

Expand Down Expand Up @@ -309,4 +309,4 @@ The Okta API supports CORS on an API by API basis. If you're building an applica

## Additional Help

In addition to all the information in this portal, you can view developer videos in our [YouTube channel](https://www.youtube.com/watch?v=JBtyGfrz-jA&list=PLIid085fSVdvYrfP6XchcOckCiyPSJN60).
In addition to all the information in this portal, you can view developer videos in our [YouTube channel](https://www.youtube.com/channel/UC5AMiWqFVFxF1q9Ya1FuZ_Q).
Original file line number Diff line number Diff line change
Expand Up @@ -5183,7 +5183,7 @@ Specifies (optional) attribute statements for a SAML application.
| ---------- | -------------------------------------------------------------------------------------------- | ----------- | -------- |
| name | The reference name of the attribute statement | String | FALSE |
| namespace | The name format of the attribute | String | FALSE |
| values | The value of the attribute; Supports [Okta EL](/docs/api/getting_started/okta_expression_lang) | String | FALSE |
| values | The value of the attribute; Supports [Okta EL](/reference/okta_expression_language/) | String | FALSE |

##### Supported Namespaces

Expand Down
6 changes: 3 additions & 3 deletions packages/@okta/vuepress-site/docs/api/resources/idps/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4553,7 +4553,7 @@ Okta supports the following enterprise and social providers:
| `FACEBOOK` | [Facebook Login](https://developers.facebook.com/docs/facebook-login/overview/) |
| `GOOGLE` | [Google Sign-In with OpenID Connect](https://developers.google.com/identity/protocols/OpenIDConnect) |
| `LINKEDIN` | [Sign In with LinkedIn](https://developer.linkedin.com/docs/signin-with-linkedin) |
| `MICROSOFT` | [Microsoft Enterprise SSO](https://msdn.microsoft.com/en-us/library/aa745042) |
| `MICROSOFT` | [Microsoft Enterprise SSO](https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/what-is-single-sign-on) |

### Protocol Object

Expand Down Expand Up @@ -5489,7 +5489,7 @@ Specifies the behavior for establishing, validating, and matching a username for

| Property | Description | DataType | Nullable | Readonly | MinLength | MaxLength | Validation |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | -------- | -------- | --------- | --------- | ------------------------------------------------------------------- |
| userNameTemplate | [Okta EL Expression](/docs/api/getting_started/okta_expression_lang) to generate or transform a unique username for the IdP user | [UserName Template Object](#username-template-object) | FALSE | FALSE | | | [Okta EL Expression](/docs/api/getting_started/okta_expression_lang) |
| userNameTemplate | [Okta EL Expression](/reference/okta_expression_language/) to generate or transform a unique username for the IdP user | [UserName Template Object](#username-template-object) | FALSE | FALSE | | | [Okta EL Expression](/reference/okta_expression_language/) |
| filter | Optional [regular expression pattern](https://en.wikipedia.org/wiki/Regular_expression) used to filter untrusted IdP usernames | String | TRUE | FALSE | 0 | 1024 | |
| matchType | Determines the Okta user profile attribute match conditions for account linking and authentication of the transformed IdP username | `USERNAME`, `EMAIL`, `USERNAME_OR_EMAIL` or `CUSTOM_ATTRIBUTE` | FALSE | FALSE | | |
| matchAttribute | Okta user profile attribute for matching transformed IdP username. Only for matchType `CUSTOM_ATTRIBUTE` | String | TRUE | FALSE | | | See `matchAttribute` Validation |
Expand Down Expand Up @@ -5525,7 +5525,7 @@ Property Details

| Property | Description | DataType | Nullable | Readonly | MinLength | MaxLength | Validation |
| ------- | ------------------------------------------------------------------------------ | -------- | -------- | -------- | --------- | --------- | ---------------------------------------------- |
| template | [Okta EL Expression](/docs/api/getting_started/okta_expression_lang) to generate or transform an unique username for the IdP user | String | FALSE | FALSE | 9 | 1024 | [Okta EL Expression](/docs/api/getting_started/okta_expression_lang) |
| template | [Okta EL Expression](/reference/okta_expression_language/) to generate or transform an unique username for the IdP user | String | FALSE | FALSE | 9 | 1024 | [Okta EL Expression](/reference/okta_expression_language/) |

Property Details

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ redirect_from: /docs/getting_started/tokens.html

# Overiew

> This endpoint is a <ApiLifecycle access="deprecated" /> feature. Please see [Getting an API Token](/docs/getting_started/getting_a_token).
> This endpoint is a <ApiLifecycle access="deprecated" /> feature. Please see [Getting an API Token](/docs/api/getting_started/getting_a_token/).
## Create tokens

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ You can configure your applications properties with environment variables, syste

| Property | Default | Details |
| -------- | --------- | ------- |
| okta.oauth2.issuer | N/A | [Authorization Server](/docs/how-to/set-up-auth-server) issuer URL, i.e.: `https://{yourOktaDomain}/oauth2/default`. Note that your Okta domain does **not** include `-admin`. |
| okta.oauth2.issuer | N/A | [Authorization Server](/authentication-guide/implementing-authentication/set-up-authz-server/) issuer URL, i.e.: `https://{yourOktaDomain}/oauth2/default`. Note that your Okta domain does **not** include `-admin`. |
| okta.oauth2.clientId | N/A | The Client Id of your Okta OIDC application |
| okta.oauth2.audience | api://default | The audience of your [Authorization Server](/docs/how-to/set-up-auth-server) |
| okta.oauth2.audience | api://default | The audience of your [Authorization Server](/authentication-guide/implementing-authentication/set-up-authz-server/) |
| okta.oauth2.groups-claim | groups | The claim key in the Access Token's JWT that corresponds to an array of the users groups. |

### Create a Controller
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Error Codes
excerpt: Understand Okta API errors.
redirect_from:
- /docs/getting_started/error_codes
- /docs/api/getting_started/error_codes
- /reference/error_codes/
---

# Overview
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Okta Expression Language
excerpt: Read and transform attributes in our APIs and admin UI.
redirect_from:
- /docs/getting_started/okta_expression_lang
- /docs/api/getting_started/okta_expression_lang
- /reference/okta_expression_language/
---

# Overview
Expand Down
2 changes: 1 addition & 1 deletion packages/@okta/vuepress-site/standards/SAML/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
redirect_from:
- /docs/getting_started/saml_guidance.html
- https://www.okta.com/integrate/documentation/saml/.html
- /docs/guides/saml_guidance.html
redirect_to: 'https://www.okta.com/integrate/documentation/saml/'
---
Expand Down
Loading

0 comments on commit 2f4118c

Please sign in to comment.