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

OAuth2 - PKCE #131

Merged
merged 4 commits into from Aug 11, 2020
Merged

OAuth2 - PKCE #131

merged 4 commits into from Aug 11, 2020

Commits on Jun 23, 2020

  1. OAuth2 - PKCE

    * Add a `pkce` option to the oauth2 strategy that defaults
      to `false`.
    * When the option is true, the client will authorize with the
      provider using PKCE (proof key for code exchange) [1]. This
      enhances the security footprint of the interaction and is now
      recommended by the IETF for all OAuth2 code grant interactions.
    * At a high level, PKCE works as follows:
      1. Generate a new random code verifier string value with a
         minimum length of 43 characters and a maximum length of
         128 characters.
      2. Take the SHA256 hash value of the code verifier string and
         perform a URL-safe Base64 encode of the result as defined
         in [2].
      3. Pass `code_challenge={Base64(SHA256(code_verifier)}`
         and `code_challenge_method=S256` query parameters with
         the client OAuth2 authorize request.
      4. In the callback_phase, pass the `code_verifier` in plaintext
         to the provider as a query parameter to the OAuth2 token
         endpoint. This provides strong guarantees to the OAuth provider
         that the client is the same entity that requested authorization.
    
    [1]: https://tools.ietf.org/html/rfc7636
    [2]: https://tools.ietf.org/html/rfc7636#appendix-A
    jessedoyle committed Jun 23, 2020
    Copy the full SHA
    e53f2cb View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2020

  1. OAuth2 - PKCE | CI

    * Resolve all current rubocop violations for rubocop
      v0.86.0.
    Jesse Doyle committed Jun 28, 2020
    Copy the full SHA
    a7b3b73 View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2020

  1. OAuth2 - PKCE | CI

    __review__
    
    * Remove Ruby 2.3 frozen string magic comments as requested because
      it is out of scope for this feature.
    * Add an exception to `rubocop.yml` so that the missing
      magic comment is not a CI failure.
    * Add exceptions for `Lint/MissingSuper` and
      `Gemspec/REquiredRubyVersion` to minimize churn on the feature.
    Jesse Doyle committed Aug 10, 2020
    Copy the full SHA
    13dde0c View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2020

  1. Minor refactor of pkce

    BobbyMcWho authored and Jesse Doyle committed Aug 11, 2020
    Copy the full SHA
    53ade6b View commit details
    Browse the repository at this point in the history