Test Name | fapi-rw-id2-refresh-token |
---|---|
Variant | private_key_jwt, by_value, consumerdataright_au, plain_response |
Test ID | sFh5jDFg36jgVnp https://www.certification.openid.net/log-detail.html?public=true&log=sFh5jDFg36jgVnp |
Created | 2020-11-18T23:56:32.296861Z |
Description | NAB Certification |
Test Version | 4.1.4 |
Test Owner | 110982540743409783525 https://accounts.google.com |
Plan ID | VIzwhROzb2utY https://www.certification.openid.net/plan-detail.html?public=true&plan=VIzwhROzb2utY |
Exported From | https://www.certification.openid.net |
Exported By | 110982540743409783525 https://accounts.google.com |
Suite Version | 4.1.5 |
Exported | 2020-12-06 05:26:38 (UTC) |
Status: FINISHED Result: PASSED |
SUCCESS 246 FAILURE 0 WARNING 0 REVIEW 0 INFO 11 |
2020-11-18 23:56:32 |
INFO
|
TEST-RUNNER
Test instance sFh5jDFg36jgVnp created
|
||||||||||||||
|
2020-11-18 23:56:32 |
SUCCESS
|
CreateRedirectUri
Created redirect URI
|
||
|
2020-11-18 23:56:32 |
|
GetDynamicServerConfiguration
HTTP request
|
||||||||
|
2020-11-18 23:56:34 |
RESPONSE
|
GetDynamicServerConfiguration
HTTP response
|
||||||||
|
2020-11-18 23:56:34 |
|
GetDynamicServerConfiguration
Downloaded server configuration
|
||
|
2020-11-18 23:56:34 |
SUCCESS
|
GetDynamicServerConfiguration
Successfully parsed server configuration
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2020-11-18 23:56:34 |
SUCCESS
|
CheckServerConfiguration
Found required server configuration keys
|
||
|
2020-11-18 23:56:34 |
SUCCESS
|
ExtractTLSTestValuesFromServerConfiguration
Extracted TLS information from authorization server configuration
|
||||||||
|
2020-11-18 23:56:34 |
|
FetchServerKeys
Fetching server key
|
||
|
2020-11-18 23:56:34 |
|
FetchServerKeys
HTTP request
|
||||||||
|
2020-11-18 23:56:34 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2020-11-18 23:56:34 |
|
FetchServerKeys
Found JWK set string
|
||
|
2020-11-18 23:56:34 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2020-11-18 23:56:34 |
SUCCESS
|
CheckServerKeysIsValid
Server JWKs is valid
|
||
|
2020-11-18 23:56:34 | SUCCESS |
ValidateServerJWKs
Valid server JWKs: keys are valid JSON, contain the required fields and are correctly encoded using unpadded base64url
|
|
2020-11-18 23:56:34 | SUCCESS |
CheckForKeyIdInServerJWKs
All keys contain kids
|
|
2020-11-18 23:56:34 | SUCCESS |
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
|
|
2020-11-18 23:56:34 | SUCCESS |
FAPIEnsureMinimumServerKeyLength
Validated minimum key lengths for server_jwks
|
||
|
2020-11-18 23:56:34 |
SUCCESS
|
GetStaticClientConfiguration
Found a static client object
|
||||||
|
2020-11-18 23:56:34 |
SUCCESS
|
ValidateMTLSCertificatesHeader
MTLS certificates header is valid
|
|
2020-11-18 23:56:34 |
SUCCESS
|
ExtractMTLSCertificatesFromConfiguration
Mutual TLS authentication credentials loaded
|
||||||
|
2020-11-18 23:56:34 | SUCCESS |
ValidateClientJWKsPrivatePart
Valid client JWKs: keys are valid JSON, contain the required fields, the private/public exponents match and are correctly encoded using unpadded base64url
|
|
2020-11-18 23:56:34 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2020-11-18 23:56:34 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2020-11-18 23:56:34 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2020-11-18 23:56:34 | SUCCESS |
FAPICheckKeyAlgInClientJWKs
Found a key with alg PS256 or ES256
|
|
2020-11-18 23:56:34 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2020-11-18 23:56:34 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
Verify configuration of second client |
2020-11-18 23:56:34 |
SUCCESS
|
GetStaticClient2Configuration
Found a static second client object
|
||||||
|
2020-11-18 23:56:34 |
SUCCESS
|
ValidateMTLSCertificates2Header
MTLS certificates header is valid
|
|
2020-11-18 23:56:34 |
SUCCESS
|
ExtractMTLSCertificates2FromConfiguration
Mutual TLS authentication credentials loaded
|
||||||
|
2020-11-18 23:56:34 | SUCCESS |
ValidateClientJWKsPrivatePart
Valid client JWKs: keys are valid JSON, contain the required fields, the private/public exponents match and are correctly encoded using unpadded base64url
|
|
2020-11-18 23:56:34 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2020-11-18 23:56:34 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2020-11-18 23:56:34 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2020-11-18 23:56:34 | SUCCESS |
FAPICheckKeyAlgInClientJWKs
Found a key with alg PS256 or ES256
|
|
2020-11-18 23:56:34 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2020-11-18 23:56:34 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
2020-11-18 23:56:34 |
SUCCESS
|
GetResourceEndpointConfiguration
Found a resource endpoint object
|
||||||
|
2020-11-18 23:56:34 |
SUCCESS
|
SetProtectedResourceUrlToSingleResourceEndpoint
Set protected resource URL
|
||
|
2020-11-18 23:56:34 |
SUCCESS
|
ExtractTLSTestValuesFromResourceConfiguration
Extracted TLS information from resource endpoint
|
||
|
2020-11-18 23:56:34 |
SUCCESS
|
ExtractTLSTestValuesFromOBResourceConfiguration
Extracted TLS information from resource endpoint
|
||||
|
2020-11-18 23:56:34 |
|
fapi-rw-id2-refresh-token
Setup Done
|
|
Make request to authorization endpoint |
2020-11-18 23:56:34 |
SUCCESS
|
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
|
||||||
|
2020-11-18 23:56:34 | SUCCESS |
AddCdrAcrClaimToAuthorizationEndpointRequest
Added acr claim to authorization_endpoint_request
|
||
|
2020-11-18 23:56:34 | SUCCESS |
AddCdrSharingDurationClaimToAuthorizationEndpointRequest
Added sharing_duration claim to authorization_endpoint_request
|
||
|
2020-11-18 23:56:34 |
|
CreateRandomStateValue
Created state value
|
||||
|
2020-11-18 23:56:34 |
SUCCESS
|
AddStateToAuthorizationEndpointRequest
Added state parameter to request
|
||||||||||
|
2020-11-18 23:56:34 |
|
CreateRandomNonceValue
Created nonce value
|
||||
|
2020-11-18 23:56:34 |
SUCCESS
|
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
|
||||||||||||
|
2020-11-18 23:56:34 |
SUCCESS
|
SetAuthorizationEndpointRequestResponseTypeToCodeIdtoken
Added response_type parameter to request
|
||||||||||||||
|
2020-11-18 23:56:34 | SUCCESS |
AddPromptConsentToAuthorizationEndpointRequestIfScopeContainsOfflineAccess
Not adding prompt=consent as the scope in the configuration does not contain offline_access
|
|
2020-11-18 23:56:34 |
SUCCESS
|
ConvertAuthorizationEndpointRequestToRequestObject
Created request object claims
|
||
|
2020-11-18 23:56:34 | SUCCESS |
AddExpToRequestObject
Added exp to request object claims
|
||
|
2020-11-18 23:56:34 | SUCCESS |
AddAudToRequestObject
Added aud to request object claims
|
||
|
2020-11-18 23:56:34 | SUCCESS |
AddIssToRequestObject
Added iss to request object claims
|
||
|
2020-11-18 23:56:34 | SUCCESS |
AddClientIdToRequestObject
Added client_id to request object claims
|
||
|
2020-11-18 23:56:34 |
SUCCESS
|
SignRequestObject
Signed the request object
|
||||||||
|
2020-11-18 23:56:34 |
SUCCESS
|
BuildRequestObjectByValueRedirectToAuthorizationEndpoint
Sending to authorization endpoint
|
||
|
2020-11-18 23:56:34 |
REDIRECT
|
fapi-rw-id2-refresh-token
Redirecting to authorization endpoint
|
||
|
2020-11-18 23:57:14 |
INCOMING
|
fapi-rw-id2-refresh-token
Incoming HTTP request to test instance sFh5jDFg36jgVnp
|
||||||||||||||
|
2020-11-18 23:57:14 |
SUCCESS
|
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
|
||
|
2020-11-18 23:57:14 |
OUTGOING
|
fapi-rw-id2-refresh-token
Response to HTTP request to test instance sFh5jDFg36jgVnp
|
||||
|
2020-11-18 23:57:15 |
INCOMING
|
fapi-rw-id2-refresh-token
Incoming HTTP request to test instance sFh5jDFg36jgVnp
|
||||||||||||||
|
2020-11-18 23:57:15 |
OUTGOING
|
fapi-rw-id2-refresh-token
Response to HTTP request to test instance sFh5jDFg36jgVnp
|
||||||||
|
2020-11-18 23:57:15 |
|
ExtractImplicitHashToCallbackResponse
Extracted response from URL fragment
|
||
|
2020-11-18 23:57:15 |
SUCCESS
|
ExtractImplicitHashToCallbackResponse
Extracted the hash values
|
||||||
|
2020-11-18 23:57:15 |
REDIRECT-IN
|
fapi-rw-id2-refresh-token
Authorization endpoint response captured
|
||||||||||
|
Verify authorization endpoint response |
2020-11-18 23:57:15 | SUCCESS |
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
|
|
2020-11-18 23:57:15 | SUCCESS |
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
|
|
2020-11-18 23:57:15 |
SUCCESS
|
CheckMatchingCallbackParameters
Callback parameters successfully verified
|
|
2020-11-18 23:57:15 | SUCCESS |
RejectStateInUrlQueryForHybridFlow
state is correctly not present in URL query returned from authorization endpoint (as in the hybrid flow it must be returned in the URL fragment/hash only)
|
|
2020-11-18 23:57:15 |
SUCCESS
|
CheckIfAuthorizationEndpointError
No error from authorization endpoint
|
|
2020-11-18 23:57:15 |
SUCCESS
|
ValidateSuccessfulHybridResponseFromAuthorizationEndpoint
authorization endpoint response does not include unexpected parameters
|
||||||
|
2020-11-18 23:57:15 | SUCCESS |
CheckMatchingStateParameter
State parameter correctly returned
|
||
|
2020-11-18 23:57:15 |
SUCCESS
|
ExtractAuthorizationCodeFromAuthorizationResponse
Found authorization code
|
||
|
2020-11-18 23:57:15 | SUCCESS |
EnsureMinimumAuthorizationCodeLength
Authorization code is of sufficient length
|
||||
|
2020-11-18 23:57:15 | SUCCESS |
EnsureMinimumAuthorizationCodeEntropy
Calculated shannon entropy seems sufficient
|
||||
|
2020-11-18 23:57:15 | SUCCESS |
ExtractIdTokenFromAuthorizationResponse
Found and parsed the id_token from authorization_endpoint_response
|
||||||||
|
2020-11-18 23:57:15 | SUCCESS |
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2020-11-18 23:57:15 | SUCCESS |
EnsureIdTokenContainsKid
kid was found in the ID token header
|
||
|
2020-11-18 23:57:15 | SUCCESS |
ValidateIdTokenNonce
Nonce values match
|
||
|
2020-11-18 23:57:15 | SUCCESS |
ValidateIdTokenSignature
id_token signature validated
|
||
|
2020-11-18 23:57:15 | SUCCESS |
ValidateIdTokenSignatureUsingKid
id_token signature validated
|
||
|
2020-11-18 23:57:15 | SUCCESS |
CheckForSubjectInIdToken
Found 'sub' in id_token
|
||
|
2020-11-18 23:57:15 | SUCCESS |
FAPIValidateIdTokenSigningAlg
id_token was signed with a permitted algorithm
|
||
|
2020-11-18 23:57:15 | SUCCESS |
FAPIValidateIdTokenEncryptionAlg
id_token was encrypted with a permitted algorithm
|
||
|
2020-11-18 23:57:15 | SUCCESS |
FAPIValidateEncryptedIdTokenHasKid
kid was found in the encrypted ID token header
|
||
|
2020-11-18 23:57:15 | SUCCESS |
ExtractSHash
Extracted s_hash from ID Token
|
||||
|
2020-11-18 23:57:15 | SUCCESS |
ValidateSHash
s_hash validated successfully
|
||||||
|
2020-11-18 23:57:15 | SUCCESS |
ExtractCHash
Extracted c_hash from ID Token
|
||||
|
2020-11-18 23:57:15 | SUCCESS |
ValidateCHash
c_hash validated successfully
|
||||||
|
2020-11-18 23:57:15 |
SUCCESS
|
CreateTokenEndpointRequestForAuthorizationCodeGrant
|
||||||
|
2020-11-18 23:57:15 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2020-11-18 23:57:15 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2020-11-18 23:57:15 |
|
AddClientAssertionToTokenEndpointRequest
Added client assertion
|
||||||||||
|
2020-11-18 23:57:15 |
|
CallTokenEndpoint
HTTP request
|
||||||||||
|
2020-11-18 23:57:17 |
RESPONSE
|
CallTokenEndpoint
HTTP response
|
||||||||
|
2020-11-18 23:57:17 |
|
CallTokenEndpoint
Token endpoint response
|
||
|
2020-11-18 23:57:17 |
SUCCESS
|
CallTokenEndpoint
Parsed token endpoint response
|
||||||||||||||||||
|
2020-11-18 23:57:17 |
SUCCESS
|
CheckIfTokenEndpointResponseError
No error from token endpoint
|
|
2020-11-18 23:57:17 | SUCCESS |
CheckForAccessTokenValue
Found an access token
|
||
|
2020-11-18 23:57:17 |
SUCCESS
|
ExtractAccessTokenFromTokenResponse
Extracted the access token
|
||||
|
2020-11-18 23:57:17 | SUCCESS |
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
|
||
|
2020-11-18 23:57:17 | SUCCESS |
ValidateExpiresIn
expires_in passed all validation checks
|
||
|
2020-11-18 23:57:17 |
SUCCESS
|
CheckForRefreshTokenValue
Found a refresh token
|
||
|
2020-11-18 23:57:17 | SUCCESS |
EnsureMinimumRefreshTokenLength
Refresh token is of sufficient length
|
||||
|
2020-11-18 23:57:17 | SUCCESS |
EnsureMinimumRefreshTokenEntropy
Calculated shannon entropy seems sufficient
|
||||
|
2020-11-18 23:57:17 | SUCCESS |
EnsureMinimumAccessTokenLength
Access token is of sufficient length
|
||||
|
2020-11-18 23:57:17 | SUCCESS |
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
|
||||
|
2020-11-18 23:57:17 | SUCCESS |
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
|
||||||||
|
2020-11-18 23:57:17 | SUCCESS |
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2020-11-18 23:57:17 | SUCCESS |
EnsureIdTokenContainsKid
kid was found in the ID token header
|
||
|
2020-11-18 23:57:17 | SUCCESS |
ValidateIdTokenNonce
Nonce values match
|
||
|
2020-11-18 23:57:17 | SUCCESS |
ValidateIdTokenACRClaimAgainstRequest
acr value in id_token is (one of) the requested values
|
||||
|
2020-11-18 23:57:17 | SUCCESS |
ValidateIdTokenSignature
id_token signature validated
|
||
|
2020-11-18 23:57:17 | SUCCESS |
ValidateIdTokenSignatureUsingKid
id_token signature validated
|
||
|
2020-11-18 23:57:17 | SUCCESS |
CheckForSubjectInIdToken
Found 'sub' in id_token
|
||
|
2020-11-18 23:57:17 | SUCCESS |
FAPIValidateIdTokenSigningAlg
id_token was signed with a permitted algorithm
|
||
|
2020-11-18 23:57:17 | SUCCESS |
FAPIValidateIdTokenEncryptionAlg
id_token was encrypted with a permitted algorithm
|
||
|
2020-11-18 23:57:17 | SUCCESS |
FAPIValidateEncryptedIdTokenHasKid
kid was found in the encrypted ID token header
|
||
|
2020-11-18 23:57:17 | SUCCESS |
ValidateIdTokenEncrypted
id_token was encrypted
|
|
2020-11-18 23:57:17 | SUCCESS |
ExtractCHash
Extracted c_hash from ID Token
|
||||
|
2020-11-18 23:57:17 | SUCCESS |
ExtractSHash
Extracted s_hash from ID Token
|
||||
|
2020-11-18 23:57:17 | SUCCESS |
ExtractAtHash
Extracted at_hash from ID Token
|
||||
|
2020-11-18 23:57:17 | SUCCESS |
ValidateCHash
c_hash validated successfully
|
||||||
|
2020-11-18 23:57:17 | SUCCESS |
ValidateSHash
s_hash validated successfully
|
||||||
|
2020-11-18 23:57:17 | SUCCESS |
ValidateAtHash
at_hash validated successfully
|
||||||
|
Verify at_hash in the authorization endpoint id_token |
2020-11-18 23:57:17 | INFO |
ExtractAtHash
Couldn't find at_hash in ID token
|
|
2020-11-18 23:57:17 | INFO |
ValidateAtHash
Skipped evaluation due to missing required object: at_hash
|
||||
|
Check for refresh token |
2020-11-18 23:57:17 |
SUCCESS
|
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
|
||
|
2020-11-18 23:57:17 | SUCCESS |
EnsureServerConfigurationSupportsRefreshToken
The server configuration indicates support for refresh tokens
|
||
|
2020-11-18 23:57:17 | SUCCESS |
EnsureRefreshTokenContainsAllowedCharactersOnly
Refresh token does not contain any illegal characters
|
|
Refresh Token Request |
2020-11-18 23:57:17 |
SUCCESS
|
CreateRefreshTokenRequest
Created token endpoint request parameters
|
||||
|
2020-11-18 23:57:18 | SUCCESS |
AddScopeToTokenEndpointRequest
Added scope of 'profile common:customer.basic:read common:customer.detail:read bank:accounts.basic:read openid bank:payees:read' to token endpoint request
|
||||||
|
2020-11-18 23:57:18 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2020-11-18 23:57:18 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2020-11-18 23:57:18 |
|
AddClientAssertionToTokenEndpointRequest
Added client assertion
|
||||||||||
|
2020-11-18 23:57:18 |
SUCCESS
|
WaitForOneSecond
Pausing for 1 seconds
|
|
2020-11-18 23:57:19 |
SUCCESS
|
WaitForOneSecond
Woke up after 1 seconds sleep
|
|
2020-11-18 23:57:19 |
|
CallTokenEndpointAndReturnFullResponse
HTTP request
|
||||||||||
|
2020-11-18 23:57:20 |
RESPONSE
|
CallTokenEndpointAndReturnFullResponse
HTTP response
|
||||||||
|
2020-11-18 23:57:20 |
SUCCESS
|
CallTokenEndpointAndReturnFullResponse
Parsed token endpoint response
|
||||||||||||||||
|
2020-11-18 23:57:20 | SUCCESS |
CheckTokenEndpointHttpStatus200
Token endpoint http status code was 200
|
|
2020-11-18 23:57:20 | SUCCESS |
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
|
|
2020-11-18 23:57:20 | SUCCESS |
CheckTokenEndpointCacheHeaders
Checked 'pragma' and 'cache-control' in the headers of token_endpoint_response.
|
|
2020-11-18 23:57:20 |
SUCCESS
|
CheckIfTokenEndpointResponseError
No error from token endpoint
|
|
2020-11-18 23:57:20 |
SUCCESS
|
ExtractAccessTokenFromTokenResponse
Extracted the access token
|
||||
|
2020-11-18 23:57:20 | SUCCESS |
CheckTokenTypeIsBearer
Token type is bearer
|
|
2020-11-18 23:57:20 | SUCCESS |
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
|
||||
|
2020-11-18 23:57:20 | SUCCESS |
EnsureAccessTokenContainsAllowedCharactersOnly
Access token does not contain any illegal characters
|
|
2020-11-18 23:57:20 | SUCCESS |
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
|
||
|
2020-11-18 23:57:20 | SUCCESS |
ValidateExpiresIn
expires_in passed all validation checks
|
||
|
2020-11-18 23:57:20 |
SUCCESS
|
EnsureAccessTokenValuesAreDifferent
Access token values are not the same
|
||||
|
2020-11-18 23:57:20 |
SUCCESS
|
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
|
||||||||
|
2020-11-18 23:57:20 |
INFO
|
ExtractRefreshTokenFromTokenResponse
Token endpoint response does not contain a refresh token
|
|
2020-11-18 23:57:20 | INFO |
EnsureMinimumRefreshTokenLength
Skipped evaluation due to missing required element: token_endpoint_response refresh_token
|
||||||
|
2020-11-18 23:57:20 | INFO |
EnsureMinimumRefreshTokenEntropy
Skipped evaluation due to missing required element: token_endpoint_response refresh_token
|
||||||
|
2020-11-18 23:57:20 | SUCCESS |
CompareIdTokenClaims
Validated id token claims successfully
|
||||||||||||
|
Resource server endpoint tests |
2020-11-18 23:57:20 |
|
CreateEmptyResourceEndpointRequestHeaders
Created empty headers
|
||
|
2020-11-18 23:57:20 | SUCCESS |
AddFAPIAuthDateToResourceEndpointRequest
Added x-fapi-auth-date to resource endpoint request headers
|
||
|
2020-11-18 23:57:20 |
|
AddIpV4FapiCustomerIpAddressToResourceEndpointRequest
Added x-fapi-customer-ip-address containing IPv4 address to resource endpoint request headers
|
||
|
2020-11-18 23:57:20 |
|
AddCdrXCdsClientHeadersToResourceEndpointRequest
Added x-cds-client-headers to resource_endpoint_request_headers
|
||||||
|
2020-11-18 23:57:20 |
|
CreateRandomFAPIInteractionId
Created interaction ID
|
||
|
2020-11-18 23:57:20 |
|
AddFAPIInteractionIdToResourceEndpointRequest
Condition ran but did not log anything
|
|
2020-11-18 23:57:20 |
|
AddCdrXvToResourceEndpointRequest
Added x-v to resource_endpoint_request_headers
|
|
2020-11-18 23:57:20 |
|
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP request
|
||||||||||
|
2020-11-18 23:57:21 |
RESPONSE
|
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP response
|
||||||||
|
2020-11-18 23:57:21 | SUCCESS |
CallProtectedResourceWithBearerTokenAndCustomHeaders
Got a response from the resource endpoint
|
||||||
|
2020-11-18 23:57:21 | SUCCESS |
CheckForDateHeaderInResourceResponse
Date header present and validated
|
||||
|
2020-11-18 23:57:21 | SUCCESS |
CheckForFAPIInteractionIdInResourceResponse
Found x-fapi-interaction-id
|
||
|
2020-11-18 23:57:21 | SUCCESS |
EnsureMatchingFAPIInteractionId
Interaction ID matched
|
||
|
2020-11-18 23:57:21 | SUCCESS |
EnsureResourceResponseReturnedJsonContentType
Response content type is JSON
|
||
|
Second client: Setup |
2020-11-18 23:57:21 | SUCCESS |
AddRedirectUriQuerySuffix
Created redirect URI query suffix to test that query sections in the registered redirect url are handled correctly. The redirect url, including this suffix, must be registered for the client as per http://openid.net/certification/fapi_op_testing/
|
||
|
2020-11-18 23:57:21 |
|
CreateRedirectUri
Appending suffix to redirect URI
|
||
|
2020-11-18 23:57:21 | SUCCESS |
CreateRedirectUri
Created redirect URI
|
||
|
Second client: Make request to authorization endpoint |
2020-11-18 23:57:21 |
SUCCESS
|
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
|
||||||
|
2020-11-18 23:57:21 | SUCCESS |
AddCdrAcrClaimToAuthorizationEndpointRequest
Added acr claim to authorization_endpoint_request
|
||
|
2020-11-18 23:57:21 | SUCCESS |
AddCdrSharingDurationClaimToAuthorizationEndpointRequest
Added sharing_duration claim to authorization_endpoint_request
|
||
|
2020-11-18 23:57:21 |
|
CreateRandomStateValue
Created state value
|
||||
|
2020-11-18 23:57:21 |
SUCCESS
|
AddStateToAuthorizationEndpointRequest
Added state parameter to request
|
||||||||||
|
2020-11-18 23:57:21 |
|
CreateRandomNonceValue
Created nonce value
|
||||
|
2020-11-18 23:57:21 |
SUCCESS
|
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
|
||||||||||||
|
2020-11-18 23:57:21 |
SUCCESS
|
SetAuthorizationEndpointRequestResponseTypeToCodeIdtoken
Added response_type parameter to request
|
||||||||||||||
|
2020-11-18 23:57:21 | SUCCESS |
AddPromptConsentToAuthorizationEndpointRequestIfScopeContainsOfflineAccess
Not adding prompt=consent as the scope in the configuration does not contain offline_access
|
|
2020-11-18 23:57:21 |
SUCCESS
|
ConvertAuthorizationEndpointRequestToRequestObject
Created request object claims
|
||
|
2020-11-18 23:57:21 |
SUCCESS
|
AddIatToRequestObject
Added iat to request object claims
|
||
|
2020-11-18 23:57:21 | SUCCESS |
AddExpToRequestObject
Added exp to request object claims
|
||
|
2020-11-18 23:57:21 | SUCCESS |
AddAudToRequestObject
Added aud to request object claims
|
||
|
2020-11-18 23:57:21 | SUCCESS |
AddIssToRequestObject
Added iss to request object claims
|
||
|
2020-11-18 23:57:21 | SUCCESS |
AddClientIdToRequestObject
Added client_id to request object claims
|
||
|
2020-11-18 23:57:21 |
SUCCESS
|
SignRequestObject
Signed the request object
|
||||||||
|
2020-11-18 23:57:21 |
SUCCESS
|
BuildRequestObjectByValueRedirectToAuthorizationEndpoint
Sending to authorization endpoint
|
||
|
2020-11-18 23:57:21 |
REDIRECT
|
fapi-rw-id2-refresh-token
Redirecting to authorization endpoint
|
||
|
2020-11-18 23:57:57 |
INCOMING
|
fapi-rw-id2-refresh-token
Incoming HTTP request to test instance sFh5jDFg36jgVnp
|
||||||||||||||
|
2020-11-18 23:57:57 |
SUCCESS
|
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
|
||
|
2020-11-18 23:57:57 |
OUTGOING
|
fapi-rw-id2-refresh-token
Response to HTTP request to test instance sFh5jDFg36jgVnp
|
||||
|
2020-11-18 23:57:59 |
INCOMING
|
fapi-rw-id2-refresh-token
Incoming HTTP request to test instance sFh5jDFg36jgVnp
|
||||||||||||||
|
2020-11-18 23:57:59 |
OUTGOING
|
fapi-rw-id2-refresh-token
Response to HTTP request to test instance sFh5jDFg36jgVnp
|
||||||||
|
2020-11-18 23:57:59 |
|
ExtractImplicitHashToCallbackResponse
Extracted response from URL fragment
|
||
|
2020-11-18 23:57:59 |
SUCCESS
|
ExtractImplicitHashToCallbackResponse
Extracted the hash values
|
||||||
|
2020-11-18 23:57:59 |
REDIRECT-IN
|
fapi-rw-id2-refresh-token
Authorization endpoint response captured
|
||||||||||
|
Second client: Verify authorization endpoint response |
2020-11-18 23:57:59 | SUCCESS |
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
|
|
2020-11-18 23:57:59 | SUCCESS |
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
|
|
2020-11-18 23:57:59 |
SUCCESS
|
CheckMatchingCallbackParameters
Callback parameters successfully verified
|
||||
|
2020-11-18 23:57:59 | SUCCESS |
RejectStateInUrlQueryForHybridFlow
state is correctly not present in URL query returned from authorization endpoint (as in the hybrid flow it must be returned in the URL fragment/hash only)
|
|
2020-11-18 23:57:59 |
SUCCESS
|
CheckIfAuthorizationEndpointError
No error from authorization endpoint
|
|
2020-11-18 23:57:59 |
SUCCESS
|
ValidateSuccessfulHybridResponseFromAuthorizationEndpoint
authorization endpoint response does not include unexpected parameters
|
||||||
|
2020-11-18 23:57:59 | SUCCESS |
CheckMatchingStateParameter
State parameter correctly returned
|
||
|
2020-11-18 23:57:59 |
SUCCESS
|
ExtractAuthorizationCodeFromAuthorizationResponse
Found authorization code
|
||
|
2020-11-18 23:57:59 | SUCCESS |
EnsureMinimumAuthorizationCodeLength
Authorization code is of sufficient length
|
||||
|
2020-11-18 23:57:59 | SUCCESS |
EnsureMinimumAuthorizationCodeEntropy
Calculated shannon entropy seems sufficient
|
||||
|
2020-11-18 23:57:59 | SUCCESS |
ExtractIdTokenFromAuthorizationResponse
Found and parsed the id_token from authorization_endpoint_response
|
||||||||
|
2020-11-18 23:57:59 | SUCCESS |
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2020-11-18 23:57:59 | SUCCESS |
EnsureIdTokenContainsKid
kid was found in the ID token header
|
||
|
2020-11-18 23:57:59 | SUCCESS |
ValidateIdTokenNonce
Nonce values match
|
||
|
2020-11-18 23:57:59 | SUCCESS |
ValidateIdTokenSignature
id_token signature validated
|
||
|
2020-11-18 23:57:59 | SUCCESS |
ValidateIdTokenSignatureUsingKid
id_token signature validated
|
||
|
2020-11-18 23:57:59 | SUCCESS |
CheckForSubjectInIdToken
Found 'sub' in id_token
|
||
|
2020-11-18 23:57:59 | SUCCESS |
FAPIValidateIdTokenSigningAlg
id_token was signed with a permitted algorithm
|
||
|
2020-11-18 23:57:59 | SUCCESS |
FAPIValidateIdTokenEncryptionAlg
id_token was encrypted with a permitted algorithm
|
||
|
2020-11-18 23:57:59 | SUCCESS |
FAPIValidateEncryptedIdTokenHasKid
kid was found in the encrypted ID token header
|
||
|
2020-11-18 23:57:59 | SUCCESS |
ExtractSHash
Extracted s_hash from ID Token
|
||||
|
2020-11-18 23:57:59 | SUCCESS |
ValidateSHash
s_hash validated successfully
|
||||||
|
2020-11-18 23:57:59 | SUCCESS |
ExtractCHash
Extracted c_hash from ID Token
|
||||
|
2020-11-18 23:57:59 | SUCCESS |
ValidateCHash
c_hash validated successfully
|
||||||
|
2020-11-18 23:57:59 |
SUCCESS
|
CreateTokenEndpointRequestForAuthorizationCodeGrant
|
||||||
|
2020-11-18 23:57:59 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2020-11-18 23:57:59 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2020-11-18 23:57:59 |
|
AddClientAssertionToTokenEndpointRequest
Added client assertion
|
||||||||||
|
2020-11-18 23:57:59 |
|
CallTokenEndpoint
HTTP request
|
||||||||||
|
2020-11-18 23:58:00 |
RESPONSE
|
CallTokenEndpoint
HTTP response
|
||||||||
|
2020-11-18 23:58:00 |
|
CallTokenEndpoint
Token endpoint response
|
||
|
2020-11-18 23:58:00 |
SUCCESS
|
CallTokenEndpoint
Parsed token endpoint response
|
||||||||||||||||||
|
2020-11-18 23:58:00 |
SUCCESS
|
CheckIfTokenEndpointResponseError
No error from token endpoint
|
|
2020-11-18 23:58:00 | SUCCESS |
CheckForAccessTokenValue
Found an access token
|
||
|
2020-11-18 23:58:00 |
SUCCESS
|
ExtractAccessTokenFromTokenResponse
Extracted the access token
|
||||
|
2020-11-18 23:58:00 | SUCCESS |
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
|
||
|
2020-11-18 23:58:00 | SUCCESS |
ValidateExpiresIn
expires_in passed all validation checks
|
||
|
2020-11-18 23:58:00 |
SUCCESS
|
CheckForRefreshTokenValue
Found a refresh token
|
||
|
2020-11-18 23:58:00 | SUCCESS |
EnsureMinimumRefreshTokenLength
Refresh token is of sufficient length
|
||||
|
2020-11-18 23:58:00 | SUCCESS |
EnsureMinimumRefreshTokenEntropy
Calculated shannon entropy seems sufficient
|
||||
|
2020-11-18 23:58:00 | SUCCESS |
EnsureMinimumAccessTokenLength
Access token is of sufficient length
|
||||
|
2020-11-18 23:58:00 | SUCCESS |
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
|
||||
|
2020-11-18 23:58:00 | SUCCESS |
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
|
||||||||
|
2020-11-18 23:58:00 | SUCCESS |
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2020-11-18 23:58:00 | SUCCESS |
EnsureIdTokenContainsKid
kid was found in the ID token header
|
||
|
2020-11-18 23:58:00 | SUCCESS |
ValidateIdTokenNonce
Nonce values match
|
||
|
2020-11-18 23:58:00 | SUCCESS |
ValidateIdTokenACRClaimAgainstRequest
acr value in id_token is (one of) the requested values
|
||||
|
2020-11-18 23:58:00 | SUCCESS |
ValidateIdTokenSignature
id_token signature validated
|
||
|
2020-11-18 23:58:00 | SUCCESS |
ValidateIdTokenSignatureUsingKid
id_token signature validated
|
||
|
2020-11-18 23:58:00 | SUCCESS |
CheckForSubjectInIdToken
Found 'sub' in id_token
|
||
|
2020-11-18 23:58:00 | SUCCESS |
FAPIValidateIdTokenSigningAlg
id_token was signed with a permitted algorithm
|
||
|
2020-11-18 23:58:00 | SUCCESS |
FAPIValidateIdTokenEncryptionAlg
id_token was encrypted with a permitted algorithm
|
||
|
2020-11-18 23:58:00 | SUCCESS |
FAPIValidateEncryptedIdTokenHasKid
kid was found in the encrypted ID token header
|
||
|
2020-11-18 23:58:00 | SUCCESS |
ValidateIdTokenEncrypted
id_token was encrypted
|
|
2020-11-18 23:58:00 | SUCCESS |
ExtractCHash
Extracted c_hash from ID Token
|
||||
|
2020-11-18 23:58:00 | SUCCESS |
ExtractSHash
Extracted s_hash from ID Token
|
||||
|
2020-11-18 23:58:00 | SUCCESS |
ExtractAtHash
Extracted at_hash from ID Token
|
||||
|
2020-11-18 23:58:00 | SUCCESS |
ValidateCHash
c_hash validated successfully
|
||||||
|
2020-11-18 23:58:00 | SUCCESS |
ValidateSHash
s_hash validated successfully
|
||||||
|
2020-11-18 23:58:00 | SUCCESS |
ValidateAtHash
at_hash validated successfully
|
||||||
|
Second client: Verify at_hash in the authorization endpoint id_token |
2020-11-18 23:58:00 | INFO |
ExtractAtHash
Couldn't find at_hash in ID token
|
|
2020-11-18 23:58:00 | INFO |
ValidateAtHash
Skipped evaluation due to missing required object: at_hash
|
||||
|
Second client: Check for refresh token |
2020-11-18 23:58:00 |
SUCCESS
|
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
|
||
|
2020-11-18 23:58:00 | SUCCESS |
EnsureServerConfigurationSupportsRefreshToken
The server configuration indicates support for refresh tokens
|
||
|
2020-11-18 23:58:00 | SUCCESS |
EnsureRefreshTokenContainsAllowedCharactersOnly
Refresh token does not contain any illegal characters
|
|
Second client: Refresh Token Request |
2020-11-18 23:58:00 |
SUCCESS
|
CreateRefreshTokenRequest
Created token endpoint request parameters
|
||||
|
2020-11-18 23:58:00 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2020-11-18 23:58:00 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2020-11-18 23:58:00 |
|
AddClientAssertionToTokenEndpointRequest
Added client assertion
|
||||||||
|
2020-11-18 23:58:00 |
SUCCESS
|
WaitForOneSecond
Pausing for 1 seconds
|
|
2020-11-18 23:58:01 |
SUCCESS
|
WaitForOneSecond
Woke up after 1 seconds sleep
|
|
2020-11-18 23:58:01 |
|
CallTokenEndpointAndReturnFullResponse
HTTP request
|
||||||||||
|
2020-11-18 23:58:01 |
RESPONSE
|
CallTokenEndpointAndReturnFullResponse
HTTP response
|
||||||||
|
2020-11-18 23:58:01 |
SUCCESS
|
CallTokenEndpointAndReturnFullResponse
Parsed token endpoint response
|
||||||||||||||||
|
2020-11-18 23:58:01 | SUCCESS |
CheckTokenEndpointHttpStatus200
Token endpoint http status code was 200
|
|
2020-11-18 23:58:01 | SUCCESS |
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
|
|
2020-11-18 23:58:01 | SUCCESS |
CheckTokenEndpointCacheHeaders
Checked 'pragma' and 'cache-control' in the headers of token_endpoint_response.
|
|
2020-11-18 23:58:01 |
SUCCESS
|
CheckIfTokenEndpointResponseError
No error from token endpoint
|
|
2020-11-18 23:58:01 |
SUCCESS
|
ExtractAccessTokenFromTokenResponse
Extracted the access token
|
||||
|
2020-11-18 23:58:01 | SUCCESS |
CheckTokenTypeIsBearer
Token type is bearer
|
|
2020-11-18 23:58:01 | SUCCESS |
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
|
||||
|
2020-11-18 23:58:01 | SUCCESS |
EnsureAccessTokenContainsAllowedCharactersOnly
Access token does not contain any illegal characters
|
|
2020-11-18 23:58:01 | SUCCESS |
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
|
||
|
2020-11-18 23:58:01 | SUCCESS |
ValidateExpiresIn
expires_in passed all validation checks
|
||
|
2020-11-18 23:58:01 |
SUCCESS
|
EnsureAccessTokenValuesAreDifferent
Access token values are not the same
|
||||
|
2020-11-18 23:58:01 |
SUCCESS
|
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
|
||||||||
|
2020-11-18 23:58:01 |
INFO
|
ExtractRefreshTokenFromTokenResponse
Token endpoint response does not contain a refresh token
|
|
2020-11-18 23:58:01 | INFO |
EnsureMinimumRefreshTokenLength
Skipped evaluation due to missing required element: token_endpoint_response refresh_token
|
||||||
|
2020-11-18 23:58:01 | INFO |
EnsureMinimumRefreshTokenEntropy
Skipped evaluation due to missing required element: token_endpoint_response refresh_token
|
||||||
|
2020-11-18 23:58:01 | SUCCESS |
CompareIdTokenClaims
Validated id token claims successfully
|
||||||||||||
|
Second client: Resource server endpoint tests |
2020-11-18 23:58:01 |
|
CreateEmptyResourceEndpointRequestHeaders
Created empty headers
|
||
|
2020-11-18 23:58:02 | SUCCESS |
AddFAPIAuthDateToResourceEndpointRequest
Added x-fapi-auth-date to resource endpoint request headers
|
||
|
2020-11-18 23:58:02 |
|
AddCdrXvToResourceEndpointRequest
Added x-v to resource_endpoint_request_headers
|
|
2020-11-18 23:58:02 |
|
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP request
|
||||||||||
|
2020-11-18 23:58:02 |
RESPONSE
|
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP response
|
||||||||
|
2020-11-18 23:58:02 | SUCCESS |
CallProtectedResourceWithBearerTokenAndCustomHeaders
Got a response from the resource endpoint
|
||||||
|
2020-11-18 23:58:02 | SUCCESS |
CheckForDateHeaderInResourceResponse
Date header present and validated
|
||||
|
2020-11-18 23:58:02 | SUCCESS |
CheckForFAPIInteractionIdInResourceResponse
Found x-fapi-interaction-id
|
||
|
2020-11-18 23:58:02 | SUCCESS |
EnsureResourceResponseReturnedJsonContentType
Response content type is JSON
|
||
|
Try Client1's MTLS client certificate with Client2's access token |
2020-11-18 23:58:02 |
|
CallProtectedResourceWithBearerTokenExpectingError
HTTP request
|
||||||||||
|
2020-11-18 23:58:03 |
RESPONSE
|
CallProtectedResourceWithBearerTokenExpectingError
HTTP response
|
||||||||
|
2020-11-18 23:58:03 | SUCCESS |
CallProtectedResourceWithBearerTokenExpectingError
Resource endpoint returned error
|
||||||
|
Attempting to use refresh_token issued to client 2 with client 1 |
2020-11-18 23:58:03 |
SUCCESS
|
CreateRefreshTokenRequest
Created token endpoint request parameters
|
||||
|
2020-11-18 23:58:03 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2020-11-18 23:58:03 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2020-11-18 23:58:03 |
|
AddClientAssertionToTokenEndpointRequest
Added client assertion
|
||||||||
|
2020-11-18 23:58:03 |
|
CallTokenEndpointAndReturnFullResponse
HTTP request
|
||||||||||
|
2020-11-18 23:58:03 |
RESPONSE
|
CallTokenEndpointAndReturnFullResponse
HTTP response
|
||||||||
|
2020-11-18 23:58:03 |
SUCCESS
|
CallTokenEndpointAndReturnFullResponse
Parsed token endpoint response
|
||||
|
2020-11-18 23:58:03 |
SUCCESS
|
ValidateErrorFromTokenEndpointResponseError
Token endpoint response error returned valid 'error' field
|
||
|
2020-11-18 23:58:03 | SUCCESS |
CheckTokenEndpointHttpStatus400
Token endpoint http status code was 400
|
|
2020-11-18 23:58:03 | SUCCESS |
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
|
|
2020-11-18 23:58:03 | SUCCESS |
CheckErrorFromTokenEndpointResponseErrorInvalidGrant
Token Endpoint response error returned expected 'error' of 'invalid_grant'
|
||
|
2020-11-18 23:58:03 |
FINISHED
|
fapi-rw-id2-refresh-token
Test has run to completion
|
||
|
2020-11-18 23:58:42 |
|
TEST-RUNNER
Alias has now been claimed by another test
|
||||
|