Test Name | oidcc-ensure-other-scope-order-succeeds |
---|---|
Variant | client_auth_type=client_secret_basic, server_metadata=discovery, response_type=id_token token, response_mode=default, client_registration=dynamic_client |
Test ID | BOSrFVC6eQWTHjZ https://www.certification.openid.net/log-detail.html?public=true&log=BOSrFVC6eQWTHjZ |
Created | 2022-05-19T14:02:02.822725Z |
Description | Keycloak, OpenID Connect Core: Implicit Certification Profile (server_metadata:discovery/client_registration:dynamic_client) |
Test Version | 4.1.42 |
Test Owner | 115310558227229560855 https://accounts.google.com |
Plan ID | 6P7bNGAq1dnrh https://www.certification.openid.net/plan-detail.html?public=true&plan=6P7bNGAq1dnrh |
Exported From | https://www.certification.openid.net |
Exported By | 115310558227229560855 https://accounts.google.com |
Suite Version | 4.1.42 |
Exported | 2022-05-19 14:13:45 (UTC) |
Status: FINISHED Result: PASSED |
SUCCESS 52 FAILURE 0 WARNING 0 REVIEW 0 INFO 2 |
2022-05-19 14:02:02 |
INFO
|
TEST-RUNNER
Test instance BOSrFVC6eQWTHjZ created
|
||||||||||||||
|
2022-05-19 14:02:02 |
SUCCESS
|
CreateRedirectUri
Created redirect URI
|
||
|
2022-05-19 14:02:02 |
|
GetDynamicServerConfiguration
HTTP request
|
||||||||
|
2022-05-19 14:02:03 |
RESPONSE
|
GetDynamicServerConfiguration
HTTP response
|
||||||||
|
2022-05-19 14:02:03 |
SUCCESS
|
GetDynamicServerConfiguration
Successfully parsed server configuration
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2022-05-19 14:02:03 |
SUCCESS
|
CheckServerConfiguration
Found required server configuration keys
|
||
|
2022-05-19 14:02:03 |
SUCCESS
|
ExtractTLSTestValuesFromServerConfiguration
Extracted TLS information from authorization server configuration
|
||||||||
|
2022-05-19 14:02:03 |
|
FetchServerKeys
Fetching server key
|
||
|
2022-05-19 14:02:03 |
|
FetchServerKeys
HTTP request
|
||||||||
|
2022-05-19 14:02:04 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2022-05-19 14:02:04 |
|
FetchServerKeys
Found JWK set string
|
||
|
2022-05-19 14:02:04 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2022-05-19 14:02:04 |
SUCCESS
|
CheckServerKeysIsValid
Server JWKs is valid
|
||
|
2022-05-19 14:02:04 | SUCCESS |
ValidateServerJWKs
Valid server JWKs: keys are valid JSON, contain the required fields and are correctly encoded using unpadded base64url
|
|
2022-05-19 14:02:04 | SUCCESS |
CheckForKeyIdInServerJWKs
All keys contain kids
|
|
2022-05-19 14:02:04 | SUCCESS |
CheckDistinctKeyIdValueInServerJWKs
Distinct 'kid' value in all keys of server_jwks
|
||
|
2022-05-19 14:02:04 | SUCCESS |
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
|
|
2022-05-19 14:02:04 |
|
StoreOriginalClientConfiguration
Created original_client_config object from the client configuration.
|
||||
|
2022-05-19 14:02:04 |
|
ExtractClientNameFromStoredConfig
Extracted client_name from stored client configuration.
|
||
|
2022-05-19 14:02:04 |
SUCCESS
|
GenerateRS256ClientJWKs
Generated client JWKs
|
||||
|
2022-05-19 14:02:04 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2022-05-19 14:02:04 |
|
CreateEmptyDynamicRegistrationRequest
Created empty dynamic registration request
|
|
2022-05-19 14:02:04 |
|
AddClientNameToDynamicRegistrationRequest
Added client_name to registration request
|
||
|
2022-05-19 14:02:04 |
|
AddImplicitGrantTypeToDynamicRegistrationRequest
Added 'implicit' to 'grant_types'
|
||
|
2022-05-19 14:02:04 |
|
AddPublicJwksToDynamicRegistrationRequest
Added client public JWKS to dynamic registration request
|
||
|
2022-05-19 14:02:04 |
|
AddTokenEndpointAuthMethodToDynamicRegistrationRequestFromEnvironment
Added token endpoint auth method to dynamic registration request
|
||
|
2022-05-19 14:02:04 |
|
AddResponseTypesArrayToDynamicRegistrationRequestFromEnvironment
Added response_types array to dynamic registration request
|
||
|
2022-05-19 14:02:04 |
|
AddRedirectUriToDynamicRegistrationRequest
Added redirect_uris array to dynamic registration request
|
||
|
2022-05-19 14:02:04 |
|
AddContactsToDynamicRegistrationRequest
Added contacts array to dynamic registration request
|
||
|
2022-05-19 14:02:04 |
|
CallDynamicRegistrationEndpoint
HTTP request
|
||||||||
|
2022-05-19 14:02:04 |
RESPONSE
|
CallDynamicRegistrationEndpoint
HTTP response
|
||||||||
|
2022-05-19 14:02:04 |
|
CallDynamicRegistrationEndpoint
Parsed registration endpoint response
|
||||||||||
|
2022-05-19 14:02:04 | SUCCESS |
EnsureContentTypeJson
endpoint_response Content-Type: header is application/json
|
|
2022-05-19 14:02:04 | SUCCESS |
EnsureHttpStatusCodeIs201
dynamic registration endpoint returned the expected http status
|
||||
|
2022-05-19 14:02:04 | SUCCESS |
CheckNoErrorFromDynamicRegistrationEndpoint
Dynamic registration endpoint did not return an error.
|
|
2022-05-19 14:02:04 | SUCCESS |
ExtractDynamicRegistrationResponse
Extracted client from dynamic registration response
|
||
|
2022-05-19 14:02:04 | SUCCESS |
VerifyClientManagementCredentials
Verified dynamic registration management credentials
|
||||
|
2022-05-19 14:02:04 |
|
SetScopeInClientConfigurationToOpenId
Set scope in client configuration to "openid"
|
||
|
2022-05-19 14:02:04 |
SUCCESS
|
EnsureServerConfigurationSupportsClientSecretBasic
Contents of 'token_endpoint_auth_methods_supported' in discovery document matches expectations.
|
||||||
|
2022-05-19 14:02:04 |
|
SetScopeInClientConfigurationToOpenIdEmail
Set scope in client configuration to "openid email"
|
||
|
2022-05-19 14:02:04 |
SUCCESS
|
OIDCCCheckScopesSupportedContainScopeTest
'scopes_supported' in discovery document contain expected scopes
|
||||
|
2022-05-19 14:02:04 |
SUCCESS
|
SetProtectedResourceUrlToUserInfoEndpoint
userinfo_endpoint will be used to test access token. The user info is not a mandatory to implement feature in the OpenID Connect specification, but is mandatory for certification.
|
||
|
2022-05-19 14:02:04 |
|
oidcc-ensure-other-scope-order-succeeds
Setup Done
|
|
Make request to authorization endpoint |
2022-05-19 14:02:04 |
SUCCESS
|
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
|
||||||
|
2022-05-19 14:02:04 |
|
CreateRandomStateValue
Created state value
|
||||
|
2022-05-19 14:02:04 |
SUCCESS
|
AddStateToAuthorizationEndpointRequest
Added state parameter to request
|
||||||||
|
2022-05-19 14:02:04 |
|
CreateRandomNonceValue
Created nonce value
|
||||
|
2022-05-19 14:02:04 |
SUCCESS
|
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
|
||||||||||
|
2022-05-19 14:02:04 |
SUCCESS
|
SetAuthorizationEndpointRequestResponseTypeFromEnvironment
Added response_type parameter to request
|
||||||||||||
|
2022-05-19 14:02:04 |
|
ReverseScopeOrderInAuthorizationEndpointRequest
Reversed order of scopes in authorization_endpoint_request
|
||||
|
2022-05-19 14:02:04 |
SUCCESS
|
BuildPlainRedirectToAuthorizationEndpoint
Sending to authorization endpoint
|
||||
|
2022-05-19 14:02:04 |
REDIRECT
|
oidcc-ensure-other-scope-order-succeeds
Redirecting to authorization endpoint
|
||
|
2022-05-19 14:02:07 |
INCOMING
|
oidcc-ensure-other-scope-order-succeeds
Incoming HTTP request to /test/a/keycloak/callback
|
||||||||||||||||||||
|
2022-05-19 14:02:07 |
SUCCESS
|
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
|
||
|
2022-05-19 14:02:07 |
OUTGOING
|
oidcc-ensure-other-scope-order-succeeds
Response to HTTP request to test instance BOSrFVC6eQWTHjZ
|
||||
|
2022-05-19 14:02:08 |
INCOMING
|
oidcc-ensure-other-scope-order-succeeds
Incoming HTTP request to /test/a/keycloak/implicit/Ad6JWgMEprLUWjQDPAEM
|
||||||||||||||||||||
|
2022-05-19 14:02:08 |
OUTGOING
|
oidcc-ensure-other-scope-order-succeeds
Response to HTTP request to test instance BOSrFVC6eQWTHjZ
|
||||||||
|
2022-05-19 14:02:08 |
|
ExtractImplicitHashToCallbackResponse
Extracted response from URL fragment
|
||
|
2022-05-19 14:02:08 |
SUCCESS
|
ExtractImplicitHashToCallbackResponse
Extracted the hash values
|
||||||||||||
|
2022-05-19 14:02:08 |
REDIRECT-IN
|
oidcc-ensure-other-scope-order-succeeds
Authorization endpoint response captured
|
||||||||||
|
Verify authorization endpoint response |
2022-05-19 14:02:08 | SUCCESS |
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
|
|
2022-05-19 14:02:08 | SUCCESS |
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
|
|
2022-05-19 14:02:08 |
SUCCESS
|
CheckMatchingCallbackParameters
Callback parameters successfully verified
|
|
2022-05-19 14:02:08 |
|
ValidateIssInAuthorizationResponse
No 'iss' value in authorization response.
|
|
2022-05-19 14:02:08 |
SUCCESS
|
CheckIfAuthorizationEndpointError
No error from authorization endpoint
|
|
2022-05-19 14:02:08 |
SUCCESS
|
CheckStateInAuthorizationResponse
State in response correctly returned
|
||
|
2022-05-19 14:02:08 |
SUCCESS
|
ExtractAccessTokenFromAuthorizationResponse
Extracted the access token
|
||||
|
2022-05-19 14:02:08 |
SUCCESS
|
ExtractIdTokenFromAuthorizationResponse
Found and parsed the id_token from authorization_endpoint_response
|
||||||
|
2022-05-19 14:02:08 |
SUCCESS
|
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2022-05-19 14:02:08 | SUCCESS |
ValidateIdTokenNonce
Nonce values match
|
||
|
2022-05-19 14:02:08 | SUCCESS |
ValidateIdTokenACRClaimAgainstRequest
Nothing to check; the conformance suite did not request an acr claim in request object
|
|
2022-05-19 14:02:08 |
SUCCESS
|
ValidateIdTokenSignature
id_token signature validated
|
||
|
2022-05-19 14:02:08 |
SUCCESS
|
ValidateIdTokenSignatureUsingKid
id_token signature validated
|
||
|
2022-05-19 14:02:08 | SUCCESS |
CheckForSubjectInIdToken
Found 'sub' in id_token
|
||
|
2022-05-19 14:02:08 | INFO |
FAPIValidateEncryptedIdTokenHasKid
Skipped evaluation due to missing required element: id_token jwe_header
|
||||||
|
2022-05-19 14:02:08 | SUCCESS |
EnsureIdTokenDoesNotContainName
name claim not found in id_token, which is expected as it was not requested to be returned there
|
|
2022-05-19 14:02:08 | SUCCESS |
EnsureIdTokenDoesNotContainEmailForScopeEmail
email claim not found in id_token, which is expected as it was not requested to be returned there
|
|
Userinfo endpoint tests |
2022-05-19 14:02:08 |
|
CallProtectedResource
HTTP request
|
||||||||
|
2022-05-19 14:02:08 |
RESPONSE
|
CallProtectedResource
HTTP response
|
||||||||
|
2022-05-19 14:02:08 |
SUCCESS
|
CallProtectedResource
Got a response from the resource endpoint
|
||||||||
|
2022-05-19 14:02:08 |
SUCCESS
|
EnsureHttpStatusCodeIs200
resource endpoint returned the expected http status
|
||||
|
2022-05-19 14:02:08 |
|
CallUserInfoEndpointWithBearerToken
HTTP request
|
||||||||
|
2022-05-19 14:02:09 |
RESPONSE
|
CallUserInfoEndpointWithBearerToken
HTTP response
|
||||||||
|
2022-05-19 14:02:09 | SUCCESS |
CallUserInfoEndpointWithBearerToken
Got a response from the userinfo endpoint
|
||||||
|
2022-05-19 14:02:09 |
SUCCESS
|
ExtractUserInfoFromUserInfoEndpointResponse
Extracted user info
|
||
|
2022-05-19 14:02:09 |
|
ValidateUserInfoStandardClaims
sub is a string
|
|
2022-05-19 14:02:09 |
|
ValidateUserInfoStandardClaims
email_verified is a boolean
|
|
2022-05-19 14:02:09 |
|
ValidateUserInfoStandardClaims
email is a string
|
|
2022-05-19 14:02:09 | SUCCESS |
ValidateUserInfoStandardClaims
Userinfo is valid
|
|
2022-05-19 14:02:09 | SUCCESS |
EnsureUserInfoContainsSub
Found sub in userinfo
|
||
|
2022-05-19 14:02:09 |
|
EnsureUserInfoBirthDateValid
userinfo response does not contain 'birthdate'
|
|
2022-05-19 14:02:09 |
|
EnsureUserInfoUpdatedAtValid
userinfo response does not contain 'updated_at'
|
|
2022-05-19 14:02:09 |
|
EnsureMemberValuesInClaimNameReferenceToMemberNamesInClaimSources
userinfo response does not contain '_claim_names' nor _claim_sources'
|
|
2022-05-19 14:02:09 | SUCCESS |
VerifyUserInfoAndIdTokenInAuthorizationEndpointSameSub
userinfo response and id_token sub are the same
|
||||
|
2022-05-19 14:02:09 | SUCCESS |
VerifyScopesReturnedInUserInfoClaims
'claims' in userinfo contains all scope items of scope in authorization request (corresponds to scope standard claims)
|
||||
|
2022-05-19 14:02:09 | SUCCESS |
EnsureUserInfoDoesNotContainName
name claim not found in userinfo response, which is expected as it was not requested to be returned there
|
|
2022-05-19 14:02:09 |
FINISHED
|
oidcc-ensure-other-scope-order-succeeds
Test has run to completion
|
||
|
Unregister dynamically registered client |
2022-05-19 14:02:09 |
|
UnregisterDynamicallyRegisteredClient
HTTP request
|
||||||||
|
2022-05-19 14:02:10 |
RESPONSE
|
UnregisterDynamicallyRegisteredClient
HTTP response
|
||||||||
|
2022-05-19 14:02:10 |
SUCCESS
|
UnregisterDynamicallyRegisteredClient
Client successfully unregistered
|
|
2022-05-19 14:02:14 |
|
TEST-RUNNER
Alias has now been claimed by another test
|
||||
|