- Notifications
You must be signed in to change notification settings - Fork 67
Description
Follow on from #815
Now with a new test script: https://gist.github.com/micolous/e54b84dec86fcc45754c5c429ed834c4
Whenever a client uses HTTP Basic authentication to provide its client_id, claims from the tokenCallbacks[].requestMappings[].claims config option are missing.
Running the above script with --attempt_count 1 --refresh_count 0 --client_id_in_query (which requests tokens with client_id=test) returns custom claims provided in requestMappings[].claims, as expected.
Running the above script with --attempt_count 1 --refresh_count 0 --client_id_in_query --http_basic_auth (which requests tokens with client_id=test and HTTP Basic auth) does not return custom claims provided in requestMappings[].claims.
It also fails for --attempt_count 1 --refresh_count 0 --http_basic_auth (which only uses HTTP Basic auth) – but I don't think there is anyway to set DefaultOAuth2TokenCallback options from JSON.
Authorisation servers MUST support using HTTP Basic authentication per RFC 6749 s2.3.1, and using query parameters to pass the client_id is NOT RECOMMENDED per the same spec.
Environment
Running mock-oauth2-server 2.1.10 in Docker, with this config:
{ "httpServer": { "type": "NettyWrapper", "ssl": { "keyPassword": "", "keystoreFile": "/run/secrets/server_p12", "keystoreType": "PKCS12", "keystorePassword": "" } }, "interactiveLogin": true, "tokenCallbacks": [ { "issuerId": "test-issuer", "tokenExpiry": 90, "requestMappings": [ {"requestParam": "client_id", "match": "*", "claims": {"customClaim": ["foo"]}} ] } ] }This also is an issue when "match": "test".