feat: OAuth 2.0 Protected Resource Metadata handler - RFC 9728 #643
+275
−11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
auth: add OAuth 2.0 Protected Resource Metadata handler with CORS support
This change adds support for RFC 9728 (OAuth 2.0 Protected Resource Metadata)
by introducing a new
ProtectedResourceMetadataHandlerthat serves the.well-known/oauth-protected-resourceendpoint.The handler includes built-in CORS support with
Access-Control-Allow-Origin: *by default, as OAuth metadata is public information meant for client discovery.
Documentation includes examples for using custom CORS policies with popular
middleware libraries (github.com/rs/cors and github.com/jub0bs/cors).
Changes:
ProtectedResourceMetadatastruct andProtectedResourceMetadataHandlerfunction in
auth/auth.goauth/auth_test.godocumentation in
examples/server/auth-middleware/The implementation follows RFC 9728 §3.1 for OAuth 2.0 Authorization Server
Metadata discovery, enabling clients to discover protected resource capabilities
and authentication requirements.