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

EPIC: OAuth2 Authenticate on Signed Nonce #620

Open
7 tasks
Tracked by #399
jsync-swirlds opened this issue Feb 7, 2025 · 0 comments
Open
7 tasks
Tracked by #399

EPIC: OAuth2 Authenticate on Signed Nonce #620

jsync-swirlds opened this issue Feb 7, 2025 · 0 comments

Comments

@jsync-swirlds
Copy link
Member

jsync-swirlds commented Feb 7, 2025

Goal

Verify users based on a signed JWT by checking that the signature matches the Hedera Account Key.

Intention

Accept a "login" request using the OAuth2 "Client Credentials" flow and the "Private Key JWT" credential form. Once the signature is validated and the assertions verified, issue a short-lived (configurable duration) OAuth2 token for the client to use with API calls.

Considerations

  • Other OAuth2 flows
    • The "Client Credentials" flow is the most appropriate for non-interactive systems. All other OAuth2 flows assume a human interaction. It is, perhaps, theoretically possible to use "CIBA" or "Device Authorization" flows, but far more complex.
  • Other credential types
    • We considered mTLS, but this does not remove the need to keep a secure key on the requesting system, and requires more setup and complexity. Hedera account keys are already present for any other interaction with the Hedera network, so the use of those keys for this purpose is natural and efficient.

Technical Details

TBD

Tasks and Features

Preview Give feedback
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

No branches or pull requests

1 participant