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: (rfc8693) Token exchange #821

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

vivshankar
Copy link
Contributor

@vivshankar vivshankar commented Sep 1, 2024

Support OAuth 2.0 Token Exchange in impersonation and delegation modes for a variety of token types.

Related Issue or Design Document

Replaces the excellent implementation in #725 contributed by @saxenautkarsh with a broader implementation given community interest.

Key aspects to note -

  1. A custom token type has a "type" and a "name". The name is used in the token request. The type is used to determine the handler that should be used. For example - you can have several JWT types handled by the same JWT type handler.
  2. Each token type has an associated handler. So in the future, say the native app SSO implementation is added to Fosite, you would simply add the device_secret actor token type handler.

Checklist

  • I have read the contributing guidelines and signed the CLA.
  • I have referenced an issue containing the design document if my change introduces a new feature.
  • I have read the security policy.
  • I confirm that this pull request does not address a security vulnerability.
    If this pull request addresses a security vulnerability,
    I confirm that I got approval (please contact security@ory.sh) from the maintainers to push the changes.
  • I have added tests that prove my fix is effective or that my feature works.
  • I have added the necessary documentation within the code base (if appropriate).

Further comments

N/A

@vivshankar
Copy link
Contributor Author

@aeneasr @mitar @james-d-elliott This may be of some interest to you. I finally got round to porting my code over.

Copy link
Contributor

@james-d-elliott james-d-elliott left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks really good. Nice one!

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.

2 participants