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: support DPoP in OpenID Connect/OAuth2 plugin #11219

Open
reinkrul opened this issue Apr 30, 2024 · 1 comment
Open

feat: support DPoP in OpenID Connect/OAuth2 plugin #11219

reinkrul opened this issue Apr 30, 2024 · 1 comment

Comments

@reinkrul
Copy link

Description

Demonstrating Proof of Possession (DPoP, RFC9449) is a new proposed standard (https://datatracker.ietf.org/doc/html/rfc9449) for OAuth2 that constraints who can use the access token for when calling an OAuth2-protected endpoint. It's an important standard for improving the security of OAuth2 tokens when migrating to from mTLS to OAuth2 deployments.

It works by the client sharing a JWK thumbprint when requesting an access token. The client then signs a DPoP proof (containing request URL and HTTP method) and provides it as HTTP header when accessing the OAuth2-protected API.
The resource server (or APISIX in this case) then uses the cnf claim from the OAuth2 Token Introspection response to verify the proof signature. It can then reassure the OAuth2 access token wasn't stolen by a MITM, but is in fact used by the very same party that requested the token. Usage is not enforced by the server, but up to the OAuth2 client to enable.

Are there plans to support DPoP?

@reinkrul reinkrul changed the title feat: support DPoP in OpenID/OAuth2 plugin feat: support DPoP in OpenID Connect/OAuth2 plugin Apr 30, 2024
@moonming
Copy link
Member

moonming commented May 9, 2024

@reinkrul good idea, welcome to contribute this feature

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 📋 Backlog
Development

No branches or pull requests

3 participants