-
Notifications
You must be signed in to change notification settings - Fork 6.2k
Document Authorization Server PKCE settings #18304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
5c9f286 to
6a085f9
Compare
jgrandja
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the updates @bloomsei.
Please see review comments.
| or | ||
|
|
||
| . When `ClientRegistration.clientSettings.requireProofKey` is `true` (in this case `ClientRegistration.authorizationGrantType` must be `authorization_code`) | ||
| . `authorization-grant-type` is set to `authorization_code` (`AuthorizationGrantType.AUTHORIZATION_CODE`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please revert this as the current content is correct.
|
|
||
| . `client-secret` is omitted (or empty) | ||
| . `client-authentication-method` is set to "none" (`ClientAuthenticationMethod.NONE`) | ||
| . `client-secret` is omitted (or empty) and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please revert as the "and" is not necessary
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wanted to make it consistent with the documentation for servlet, but I see your point. I changed the one in servlet for consistency instead.
| or | ||
|
|
||
| . When `ClientRegistration.clientSettings.requireProofKey` is `true` (in this case `ClientRegistration.authorizationGrantType` must be `authorization_code`) | ||
| . `authorization-grant-type` is set to `authorization_code` (`AuthorizationGrantType.AUTHORIZATION_CODE`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please revert this as the current content is correct.
| <13> `tokenSettings`: The custom settings for the OAuth2 tokens issued to the client – for example, access/refresh token time-to-live, reuse refresh tokens, and others. | ||
|
|
||
| [[oauth2AuthorizationServer-client-settings]] | ||
| == ClientSettings |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This update would need to be added in 7.1.0-M2 as it's considered an enhancement. However, I would like to get something into 7.0.3 mentioning PKCE defaults to true. Please adjust this content and feel free to submit another PR for the full ClientSettings doc and I can add it to 7.1.0-M2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense. Will open a separate PR to add this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I opened a PR for this: gh-18614
Updated the documentation to reflect recent changes to enable PKCE by default for `authorization_code` flows in the documentation for both authorization_server and client. Signed-off-by: Elayne Bloom <[email protected]>
bloomsei
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your thoughtful review @jgrandja 🙏🏻
I have made the requested changes and will open a new PR to document the ClientSettings, like suggested.
Let me know if you have any other concerns.
|
|
||
| . `client-secret` is omitted (or empty) | ||
| . `client-authentication-method` is set to "none" (`ClientAuthenticationMethod.NONE`) | ||
| . `client-secret` is omitted (or empty) and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wanted to make it consistent with the documentation for servlet, but I see your point. I changed the one in servlet for consistency instead.
| <13> `tokenSettings`: The custom settings for the OAuth2 tokens issued to the client – for example, access/refresh token time-to-live, reuse refresh tokens, and others. | ||
|
|
||
| [[oauth2AuthorizationServer-client-settings]] | ||
| == ClientSettings |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense. Will open a separate PR to add this.
Updates documentation to reflect that PKCE is now enabled by default for
authorization_codeflows in both authorization server and client.Changes include:
The documented changes were introduced by: