ABCDEFGH
1
Conformance Feature InformationRP Conformance Profiles
2
Feature NameConformance Test NameTest IDBasisImplicitHybridConfigDynamic
3
Response Type & Response Mode
4
Can make request with code response_typeCan make request using response_type 'code'rp-response_type-codey
5
Can make request with id_token response_typeCan make request using response_type 'id_token'rp-response_type-id_tokeny
6
Can make request with id_token token response_typeCan make request using response_type 'id_token token'rp-response_type-id_token+tokeny
7
Can make request with code id_token response_typeCan make request using response_type 'code id_token'rp-response_type-code+id_tokeny
8
Can make request with code token response_typeCan make request using response_type 'code token'rp-response_type-code+tokeny
9
Can make request with code id_token token response_typeCan make request using response_type 'code id_token token'rp-response_type-code+id_token+tokeny
10
ID Token
11
Reject ID Token with invalid iss claimRejects ID Token with incorrect 'iss' claimrp-id_token-issuer-mismatchyyy
12
Reject ID Token without sub claimRejects ID Token without 'sub' claimrp-id_token-subyyy
13
Reject ID Token with invalid aud claimRejects ID Token with invalid 'aud' claimrp-id_token-audyyy
14
Reject ID Token without iat claimRejects ID Token without 'iat' claimrp-id_token-iatyyy
15
Accept ID Token without kid claim if only one JWK supplied in jwks_uriAccepts ID Token without 'kid' claim in JOSE header if only one JWK supplied in 'jwks_uri'rp-id_token-kid-absent-single-jwksoptionalyy
16
Reject ID Token without kid claim if multiple JWKs supplied in jwks_uriRejects ID Token without 'kid' claim in JOSE header if multiple JWKs supplied in 'jwks_uri'rp-id_token-kid-absent-multiple-jwksoptionalrejection allowedrejection allowed
17
Reject invalid at_hash when ID Token and Access Token returned from Authorization EndpointRejects ID Token with incorrect 'at_hash' claim when response_type='id_token token'rp-id_token-bad-at_hashyy
18
Reject invalid c_hash when ID Token and Authorization Code returned from Authorization EndpointRejects ID Token with incorrect 'c_hash' claim when hybrid flow is usedrp-id_token-bad-c_hashy
19
Accepts ID Token with valid asymmetric 'RS256' signatureAccepts ID Token with valid asymmetric 'RS256' signaturerp-id_token-sig-rs256yyy
20
Can request and use unsecured ID Token signatureCan request and use unsigned ID Tokenrp-id_token-sig-noneoptionaluse optionaluse optional
21
Rejects invalid asymmetric ID Token signature with rs256Rejects ID Token with invalid asymmetric 'RS256' signaturerp-id_token-bad-sig-rs256optionalyy
22
UserInfo Endpoint
23
Accesses UserInfo Endpoint with header methodCan send Access Token in the HTTP Authorization request headerrp-userinfo-bearer-headeryyy
24
Accesses UserInfo Endpoint with form-encoded body methodCan send Access Token as form-encoded body parameterrp-userinfo-bearer-bodyalt to hdr mthdalt to hdr mthdalt to hdr mthd
25
Does not access UserInfo Endpoint with query parameter methodDoes not send Access Token as URI query parameter(implicitly tested)yyy
26
Reject UserInfo with invalid sub claimRejects UserInfo Response with invalid 'sub' claimrp-userinfo-bad-sub-claimyyy
27
Can request and use signed UserInfo responseCan request and use signed UserInfo Responserp-userinfo-siguse optionaluse optional
28
nonce Request Parameter
29
Sends nonce request parameter unless using code flowSends 'nonce' unless using code flowrp-nonce-unless-code-flowyy
30
Reject ID Token with invalid nonce when nonce valid sentRejects ID Token with invalid 'nonce' when valid 'nonce' sentrp-nonce-invalidyyy
31
scope Request Parameter
32
Scope openid present in all requestsopenid' scope value should be present in the Authentication Request(implicitly tested)yyy
33
Can request UserInfo claims with scope valuesCan request and use claims using scope valuesrp-scope-userinfo-claimsuse optionaluse optionaluse optional
34
Client Authentication
35
Can make Access Token request using client_secret_basic client authenticationCan make Access Token Request with 'client_secret_basic' authenticationrp-token_endpoint-client_secret_basicyyy
36
Discovery
37
Can discover identifiers using e-mail syntaxCan discover OpenID providers using acct URI syntaxrp-discovery-webfinger-accty
38
Can discover identifiers using URL syntaxCan discover OpenID providers using URL syntaxrp-discovery-webfinger-urly
39
Uses openid-configuration discovery informationUses Provider Configuration Informationrp-discovery-openid-configurationyy
40
Reject discovered issuer not matching openid-configuration path prefixRejects discovered issuer not matching provider configuration issuerrp-discovery-issuer-not-matching-configyy
41
Reject ID Token with iss not matching discovered issuerRejects discovered issuer not matching provider configuration issuerrp-discovery-issuer-not-matching-configyy
42
Uses keys discovered with jwks_uri valueUses keys discovered with jwks_uri valuerp-discovery-jwks_uri-keysyy
43
Dynamic Client Registration
44
Uses dynamic registrationUses dynamic registrationrp-registration-dynamicy
45
Registration has redirect_urisRegistration request has redirect_uris(implicitly tested)y
46
Keys in RP JWKs well formedKeys are published as a well-formed JWK Set(implicitly tested)y
47
Uses https for all endpoints unless only using code flowUses HTTPS for all endpoints(implicitly tested)yyy
48
Key Rotation
49
Support OP signing key rotationSupports rotation of provider's asymmetric signing keysrp-key-rotation-op-sign-keyyy
50
request_uri Request Parameter
51
Can use request_uri request parameter with unsecured requestCan use request_uri request parameter with unsigned requestrp-request_uri-unsigneduse optional
52
Can use request_uri request parameter with signed requestCan use request_uri request parameter with signed requestrp-request_uri-siguse optional