Document and test OAuth2 opaque token support - #416
Closed
Adrastopoulos wants to merge 1 commit into
Closed
Conversation
The GrpcSecurity OAuth2 resource server configurer has supported opaque tokens since it was introduced, but the reference docs only mentioned OAuth2 in passing and neither token format had test coverage. The security package had no tests at all, so the extractors and the jwt()-over-opaqueToken() precedence rule were unverified. Add unit tests for the bearer and basic extractors and for the resource server configurer, an end-to-end sample test that authenticates an opaque token against a real authorization server by introspection, and expand the server docs with worked jwt() and opaqueToken() examples. Signed-off-by: Gabriel Hall <gabriel.hall@cox.net>
Adrastopoulos
force-pushed
the
gabriel/opaque-token-docs-tests
branch
from
July 29, 2026 08:04
1ce3450 to
0b8726f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
GrpcSecurity's OAuth2 resource server configurer has supported opaque tokens since it was introduced in "Add some oauth2 configuration and sample code", but that path is effectively invisible and unverified:opaqueToken().grpc-oauth2sample only demonstratesjwt(withDefaults()).spring-grpc-corehad no tests in the security package at all, so the extractors and thejwt()-over-opaqueToken()precedence ingetAuthenticationProvider()were uncovered.This adds:
BearerTokenAuthenticationExtractorTestsandHttpBasicAuthenticationExtractorTestscovering scheme matching (including case-insensitivity), missing headers and malformed credentials.OAuth2ResourceServerConfigurerTestscovering both configurers, introspector resolution from the application context, and the precedence rule.OpaqueTokenServerApplicationTestsin thegrpc-oauth2sample, which authenticates a real opaque token against a Spring Authorization Server overintrospectionUri— mirroring the existing JWT test.jwt()andopaqueToken()examples plus notes onintrospector()/authenticationConverter()and the precedence rule.