Skip to content
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

feat(oauth): add PKCE to OAuth integrations #5710

Merged
merged 14 commits into from
Mar 27, 2021
Merged

feat(oauth): add PKCE to OAuth integrations #5710

merged 14 commits into from
Mar 27, 2021

Conversation

sranka
Copy link
Contributor

@sranka sranka commented Mar 22, 2021

Closes #5394

Briefly describe your proposed changes:

OAuth integrations newly use OAuth PKCE (RFC7636) to provide a more secure OAuth token exchange. Google, Azure, Octa, Auth0, Gitlab (and more) integrations already support OAuth PKCE. PKCE enablement should have no effect on the communication with authorization servers that don't support it yet (such as Github, Bitbucket). PKCE can be eventually turned off with OAUTH_NO_PKCE=true environment variable.

Configuration Changes (to be documented)

  • new option in chronograf cli: --oauth-no-pkce (or OAUTH_NO_PKCE environment variable) disables OAuth PKCE.

Implementation changes

  • refactor OAuth implementation so that code exchange can be customized
  • move existing implementation to CodeExchangeCSRF
  • implement CodeExchange that use PKCE
  • add OAUTH_NO_PKCE (bool) option to chronograf cmd, use it for all OAuth providers
  • + a few housekeeping changes

@sranka sranka changed the title 5394/oauth pkce feat(oauth): allow to configure OAuth PKCE Mar 22, 2021
@sranka sranka changed the title feat(oauth): allow to configure OAuth PKCE feat(oauth): add OAuth PKCE Mar 25, 2021
@sranka sranka changed the title feat(oauth): add OAuth PKCE feat(oauth): add PKCE to OAuth integrations Mar 25, 2021
@sranka sranka requested a review from ivankudibal March 25, 2021 04:00
@sranka sranka marked this pull request as ready for review March 25, 2021 04:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

OAuth2.0 PKCE - code_challenge required
2 participants