important
This is a contributors guide and NOT a user guide. Please visit these docs if you are using or evaluating SuperTokens.
Support non-deprecated flows in rfc6749 + PKCE
Status
This is just a proposal so far, it hasn't been accepted and needs further discussion.
- Status:
- proposed
- Deciders:
- rishabhpoddar, porcellus
- Proposed by:
- porcellus
- Created:
- 2023-05-11
#
Context and Problem StatementThe OAuth2 docs/rfcs contain a lot of different grant types/flows, we need to decide to which to implement. There are a few groups I'd like to consider:
- OAuth2.0 (the ones defined in rfc6749) grant types: Authorization Code, Implicit, Resource Owner Password Credentials, Client Credentials
- Refresh token (defined in rfc6749, but not as a grant type)
- Authorization Code w/ PKCE (not defined in rfc6749)
- Other extension grant type (e.g.: Device code)
#
Considered Options- All flows
- Only OAuth2.0 flows (rfc6749)
- Non-deprecated flows in rfc6749 + PKCE
#
Decision OutcomeChosen option: Non-deprecated flows in rfc6749 + PKCE, because
- It needs the least amount of work we need to cover our main
- We can disable deprecated flows/grant_types (protecting our users)