github.com/matthewhartstonge/pkce (go): Package pkce implements proof key generation defined by RFC 7636 to enable generation and validation of code verifiers and code challenges.  "Proof Key for Code Exchange" (PKCE, pronounced "pixy") was created as a technique to mitigate against the authorization code interception attack.  For a detailed specification of PKCE (RFC 7636) see [1].  Terminology:  code verifier A cryptographically random string that is used to correlate the authorization request to the token request.  code challenge A challenge derived from the code verifier that is sent in the authorization request, to be verified against later.  code challenge method A method that was used to derive code challenge.  Base64url Encoding Base64 encoding using the URL- and filename-safe character set defined in Section 5 of [RFC4648], with all trailing '=' characters omitted (as permitted by Section 3.2 of [RFC4648]) and without the inclusion of any line breaks, whitespace, or other additional characters.  (See Appendix A for notes on implementing base64url encoding without padding.)  [1] https://datatracker.ietf.org/doc/html/rfc7636
Keywords: code-flow-pkce|go|go-module|golang|oauth2|oidc|pkce