Test Name | fapi1-advanced-final-par-test-pushed-authorization-url-as-audience-for-client-JWT-assertion |
---|---|
Variant | client_auth_type=private_key_jwt, fapi_auth_request_method=pushed, fapi_profile=openbanking_brazil, fapi_response_mode=jarm |
Test ID | Q9KwF6K4syOVoB2 https://www.certification.openid.net/log-detail.html?public=true&log=Q9KwF6K4syOVoB2 |
Created | 2022-03-25T00:28:41.890284Z |
Description | Banco XP Open Finance |
Test Version | 4.1.42 |
Test Owner | 112635894686881875468 https://accounts.google.com |
Plan ID | fg1p4RGwllwbS https://www.certification.openid.net/plan-detail.html?public=true&plan=fg1p4RGwllwbS |
Exported From | https://www.certification.openid.net |
Exported By | 112624883421682152140 https://accounts.google.com |
Suite Version | 4.1.42 |
Exported | 2022-03-28 18:38:37 (UTC) |
Status: FINISHED Result: PASSED |
SUCCESS 164 FAILURE 0 WARNING 0 REVIEW 0 INFO 7 |
2022-03-25 00:28:41 |
INFO
|
TEST-RUNNER
Test instance Q9KwF6K4syOVoB2 created
|
||||||||||||||
|
2022-03-25 00:28:42 |
SUCCESS
|
CreateRedirectUri
Created redirect URI
|
||
|
2022-03-25 00:28:42 |
|
GetDynamicServerConfiguration
HTTP request
|
||||||||
|
2022-03-25 00:28:42 |
RESPONSE
|
GetDynamicServerConfiguration
HTTP response
|
||||||||
|
2022-03-25 00:28:42 |
SUCCESS
|
GetDynamicServerConfiguration
Successfully parsed server configuration
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
2022-03-25 00:28:42 | SUCCESS |
AddMTLSEndpointAliasesToEnvironment
Added mtls_endpoint_aliases to environment
|
|
2022-03-25 00:28:42 |
SUCCESS
|
CheckServerConfiguration
Found required server configuration keys
|
||
|
2022-03-25 00:28:42 |
|
FetchServerKeys
Fetching server key
|
||
|
2022-03-25 00:28:42 |
|
FetchServerKeys
HTTP request
|
||||||||
|
2022-03-25 00:28:43 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2022-03-25 00:28:43 |
|
FetchServerKeys
Found JWK set string
|
||
|
2022-03-25 00:28:43 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2022-03-25 00:28:43 |
SUCCESS
|
CheckServerKeysIsValid
Server JWKs is valid
|
||
|
2022-03-25 00:28:43 | SUCCESS |
ValidateServerJWKs
Valid server JWKs: keys are valid JSON, contain the required fields and are correctly encoded using unpadded base64url
|
|
2022-03-25 00:28:43 | SUCCESS |
CheckForKeyIdInServerJWKs
All keys contain kids
|
|
2022-03-25 00:28:43 | SUCCESS |
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
|
|
2022-03-25 00:28:43 | SUCCESS |
FAPIEnsureMinimumServerKeyLength
Validated minimum key lengths for server_jwks
|
||
|
2022-03-25 00:28:43 |
SUCCESS
|
GetStaticClientConfiguration
Found a static client object
|
||||||||
|
2022-03-25 00:28:43 |
SUCCESS
|
ValidateMTLSCertificatesHeader
MTLS certificates header is valid
|
|
2022-03-25 00:28:43 |
SUCCESS
|
ExtractMTLSCertificatesFromConfiguration
Mutual TLS authentication credentials loaded
|
||||||
|
2022-03-25 00:28:43 | 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
|
|
2022-03-25 00:28:43 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2022-03-25 00:28:43 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2022-03-25 00:28:43 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2022-03-25 00:28:43 | SUCCESS |
FAPIBrazilCheckKeyAlgInClientJWKs
Keys in client JWKS all have permitted 'alg'
|
||
|
2022-03-25 00:28:43 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2022-03-25 00:28:43 |
|
ValidateMTLSCertificatesAsX509
Root & issuing in mtls.ca is wrong order. Automatically correct it (Issuing first, then root)
|
|
2022-03-25 00:28:43 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
Verify configuration of second client |
2022-03-25 00:28:43 |
SUCCESS
|
GetStaticClient2Configuration
Found a static second client object
|
||||||||
|
2022-03-25 00:28:43 |
SUCCESS
|
ValidateMTLSCertificates2Header
MTLS certificates header is valid
|
|
2022-03-25 00:28:43 |
SUCCESS
|
ExtractMTLSCertificates2FromConfiguration
Mutual TLS authentication credentials loaded
|
||||||
|
2022-03-25 00:28:43 | 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
|
|
2022-03-25 00:28:43 |
SUCCESS
|
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
|
||||
|
2022-03-25 00:28:43 | SUCCESS |
CheckForKeyIdInClientJWKs
All keys contain kids
|
|
2022-03-25 00:28:43 | SUCCESS |
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
|
||
|
2022-03-25 00:28:43 | SUCCESS |
FAPIBrazilCheckKeyAlgInClientJWKs
Keys in client JWKS all have permitted 'alg'
|
||
|
2022-03-25 00:28:43 | SUCCESS |
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
|
||
|
2022-03-25 00:28:43 |
|
ValidateMTLSCertificatesAsX509
Root & issuing in mtls.ca is wrong order. Automatically correct it (Issuing first, then root)
|
|
2022-03-25 00:28:43 |
SUCCESS
|
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
|
|
2022-03-25 00:28:43 |
SUCCESS
|
ValidateClientPrivateKeysAreDifferent
Client signing JWKs have different thumbprints
|
||||
|
2022-03-25 00:28:43 |
SUCCESS
|
GetResourceEndpointConfiguration
Found a resource endpoint object
|
||||||||||
|
2022-03-25 00:28:43 |
SUCCESS
|
SetProtectedResourceUrlToSingleResourceEndpoint
Set protected resource URL
|
||
|
2022-03-25 00:28:43 |
SUCCESS
|
ExtractTLSTestValuesFromResourceConfiguration
Extracted TLS information from resource endpoint
|
||
|
2022-03-25 00:28:43 |
SUCCESS
|
ExtractTLSTestValuesFromOBResourceConfiguration
Extracted TLS information from resource endpoint
|
||||
|
2022-03-25 00:28:43 |
|
fapi1-advanced-final-par-test-pushed-authorization-url-as-audience-for-client-JWT-assertion
Setup Done
|
|
2022-03-25 00:28:43 |
|
fapi1-advanced-final-par-test-pushed-authorization-url-as-audience-for-client-JWT-assertion
Payments scope present - protected resource assumed to be a payments endpoint
|
|
2022-03-25 00:28:43 |
SUCCESS
|
FAPIBrazilSetPaymentDateToToday
Successfully added current date ('2022-03-24') to payment consent payload
|
||||||||||||
|
Use client_credentials grant to obtain Brazil consent |
2022-03-25 00:28:43 |
SUCCESS
|
CreateTokenEndpointRequestForClientCredentialsGrant
Created token endpoint request
|
||||
|
2022-03-25 00:28:43 |
SUCCESS
|
SetPaymentsScopeOnTokenEndpointRequest
Set scope parameter to 'payments'
|
||||
|
2022-03-25 00:28:43 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2022-03-25 00:28:43 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2022-03-25 00:28:43 |
|
AddClientAssertionToTokenEndpointRequest
Added client assertion
|
||||||||
|
2022-03-25 00:28:43 |
|
CallTokenEndpoint
HTTP request
|
||||||||||
|
2022-03-25 00:28:44 |
RESPONSE
|
CallTokenEndpoint
HTTP response
|
||||||||
|
2022-03-25 00:28:44 |
SUCCESS
|
CallTokenEndpoint
Parsed token endpoint response
|
||||||||
|
2022-03-25 00:28:44 |
SUCCESS
|
CheckIfTokenEndpointResponseError
No error from token endpoint
|
|
2022-03-25 00:28:44 |
SUCCESS
|
CheckForAccessTokenValue
Found an access token
|
||
|
2022-03-25 00:28:44 |
SUCCESS
|
ExtractAccessTokenFromTokenResponse
Extracted the access token
|
||||
|
2022-03-25 00:28:44 | SUCCESS |
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
|
||
|
2022-03-25 00:28:44 | SUCCESS |
ValidateExpiresIn
expires_in passed all validation checks
|
||
|
2022-03-25 00:28:44 |
|
CreateEmptyResourceEndpointRequestHeaders
Created empty headers
|
||
|
2022-03-25 00:28:44 |
SUCCESS
|
AddFAPIAuthDateToResourceEndpointRequest
Added x-fapi-auth-date to resource endpoint request headers
|
||
|
2022-03-25 00:28:44 |
SUCCESS
|
CreateIdempotencyKey
Created idempotency key
|
||
|
2022-03-25 00:28:44 |
SUCCESS
|
AddIdempotencyKeyHeader
Added x-idempotency-key to resource endpoint request headers
|
||
|
2022-03-25 00:28:44 |
SUCCESS
|
FAPIBrazilCreatePaymentConsentRequest
|
||
|
2022-03-25 00:28:44 |
SUCCESS
|
FAPIBrazilExtractClientMTLSCertificateSubject
Extracted subject from MTLS certificate
|
||||||
|
2022-03-25 00:28:44 | SUCCESS |
AddAudAsPaymentConsentUriToRequestObject
Added aud to request object claims
|
||
|
2022-03-25 00:28:44 |
|
AddIssAsCertificateOuToRequestObject
Added iss value based on TLS certificate organizational unit to request object claims
|
||
|
2022-03-25 00:28:44 | SUCCESS |
AddJtiAsUuidToRequestObject
Added jti to request object claims
|
||
|
2022-03-25 00:28:44 | SUCCESS |
AddIatToRequestObject
Added iat to request object claims
|
||
|
2022-03-25 00:28:44 |
SUCCESS
|
ValidateOrganizationJWKsPrivatePart
Valid organization JWKs: keys are valid JSON, contain the required fields, the private/public exponents match and are correctly encoded using unpadded base64url
|
|
2022-03-25 00:28:44 |
SUCCESS
|
FAPIBrazilSignPaymentConsentRequest
Signed the request
|
||||||||
|
2022-03-25 00:28:44 |
|
FAPIBrazilCallPaymentConsentEndpointWithBearerToken
HTTP request
|
||||||||||
|
2022-03-25 00:28:45 |
RESPONSE
|
FAPIBrazilCallPaymentConsentEndpointWithBearerToken
HTTP response
|
||||||||
|
2022-03-25 00:28:45 |
SUCCESS
|
FAPIBrazilCallPaymentConsentEndpointWithBearerToken
Payment consent endpoint response
|
||||||||
|
2022-03-25 00:28:45 | SUCCESS |
EnsureContentTypeApplicationJwt
endpoint_response Content-Type: header is application/jwt
|
|
2022-03-25 00:28:45 |
SUCCESS
|
EnsureHttpStatusCodeIs201
resource endpoint returned the expected http status
|
||||
|
2022-03-25 00:28:45 | SUCCESS |
ExtractSignedJwtFromResourceResponse
Found and parsed the JWT from payment consent endpoint
|
||||||
|
2022-03-25 00:28:45 | SUCCESS |
FAPIBrazilValidateResourceResponseSigningAlg
Response was signed with PS256
|
||
|
2022-03-25 00:28:45 | SUCCESS |
FAPIBrazilValidateResourceResponseTyp
'typ' is the header of the JWT returned in the API response is 'JWT'
|
||
|
2022-03-25 00:28:45 |
SUCCESS
|
FAPIBrazilGetKeystoreJwksUri
Determined organisation jwks uri
|
||
|
2022-03-25 00:28:45 |
|
FetchServerKeys
Fetching server key
|
||
|
2022-03-25 00:28:45 |
|
FetchServerKeys
HTTP request
|
||||||||||
|
2022-03-25 00:28:46 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2022-03-25 00:28:46 |
|
FetchServerKeys
Found JWK set string
|
||
|
2022-03-25 00:28:46 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2022-03-25 00:28:46 | SUCCESS |
ValidateResourceResponseSignature
endpoint_response_jwt signature validated
|
||
|
2022-03-25 00:28:46 | SUCCESS |
ValidateResourceResponseJwtClaims
Resource endpoint response JWS iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2022-03-25 00:28:46 |
SUCCESS
|
ExtractConsentIdFromConsentEndpointResponse
Extracted the consent id
|
||
|
2022-03-25 00:28:46 | SUCCESS |
CheckForFAPIInteractionIdInResourceResponse
Found x-fapi-interaction-id
|
||
|
2022-03-25 00:28:46 |
SUCCESS
|
FAPIBrazilAddConsentIdToClientScope
Added scope of 'openid payments consent:urn:xphml:0e8ae62f-2c96-4802-bae2-4eae141c8b4e' to client's scope
|
||||||||
|
Make request to authorization endpoint |
2022-03-25 00:28:46 |
SUCCESS
|
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
|
||||||
|
2022-03-25 00:28:46 |
|
CreateRandomStateValue
Created state value
|
||||
|
2022-03-25 00:28:46 |
SUCCESS
|
AddStateToAuthorizationEndpointRequest
Added state parameter to request
|
||||||||
|
2022-03-25 00:28:46 |
|
CreateRandomNonceValue
Created nonce value
|
||||
|
2022-03-25 00:28:46 |
SUCCESS
|
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
|
||||||||||
|
2022-03-25 00:28:46 |
SUCCESS
|
SetAuthorizationEndpointRequestResponseTypeToCode
Added response_type parameter to request
|
||||||||||||
|
2022-03-25 00:28:46 |
SUCCESS
|
SetAuthorizationEndpointRequestResponseModeToJWT
Added response_mode parameter to request
|
||||||||||||||
|
2022-03-25 00:28:46 |
|
CreateRandomCodeVerifier
Created code_verifier value
|
||
|
2022-03-25 00:28:46 |
|
CreateS256CodeChallenge
Created code_challenge value
|
||
|
2022-03-25 00:28:46 | SUCCESS |
AddCodeChallengeToAuthorizationEndpointRequest
Added code_challenge and code_challenge_method parameters to request
|
||||||||||||||||||
|
2022-03-25 00:28:46 |
SUCCESS
|
ConvertAuthorizationEndpointRequestToRequestObject
Created request object claims
|
||
|
2022-03-25 00:28:46 | SUCCESS |
AddNbfToRequestObject
Added nbf to request object claims
|
||
|
2022-03-25 00:28:46 | SUCCESS |
AddExpToRequestObject
Added exp to request object claims
|
||
|
2022-03-25 00:28:46 | SUCCESS |
AddAudToRequestObject
Added aud to request object claims
|
||
|
2022-03-25 00:28:46 | SUCCESS |
AddIssToRequestObject
Added iss to request object claims
|
||
|
2022-03-25 00:28:46 | SUCCESS |
AddClientIdToRequestObject
Added client_id to request object claims
|
||
|
2022-03-25 00:28:46 |
SUCCESS
|
SignRequestObject
Signed the request object
|
||||||||
|
2022-03-25 00:28:46 |
SUCCESS
|
BuildRequestObjectPostToPAREndpoint
|
||
|
2022-03-25 00:28:46 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2022-03-25 00:28:46 | SUCCESS |
AddPAREndpointAsAudToClientAuthenticationAssertionClaims
add audience in client assertion claims
|
||||||||||||
|
2022-03-25 00:28:46 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2022-03-25 00:28:46 |
SUCCESS
|
AddClientAssertionToPAREndpointParameters
Added client assertion to request
|
||
|
2022-03-25 00:28:46 |
|
CallPAREndpoint
HTTP request
|
||||||||||
|
2022-03-25 00:28:46 |
RESPONSE
|
CallPAREndpoint
HTTP response
|
||||||||
|
2022-03-25 00:28:46 | SUCCESS |
CallPAREndpoint
Storing pushed_authorization_endpoint_response_http_status 201
|
|
2022-03-25 00:28:46 | SUCCESS |
CallPAREndpoint
Parsed pushed authorization request endpoint response
|
||||
|
2022-03-25 00:28:46 | SUCCESS |
CheckIfPAREndpointResponseError
pushed authorization request endpoint correct response.
|
|
2022-03-25 00:28:46 | SUCCESS |
CheckForRequestUriValue
Found valid request_uri
|
||
|
2022-03-25 00:28:46 | SUCCESS |
CheckForPARResponseExpiresIn
Found expires_in
|
||
|
2022-03-25 00:28:46 |
SUCCESS
|
ExtractRequestUriFromPARResponse
Extracted the request_uri: urn:ietf:params:oauth:request_uri:dGChpx_8ZWV8RmlOJAiEM
|
|
2022-03-25 00:28:46 | SUCCESS |
EnsureMinimumRequestUriEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-03-25 00:28:46 | SUCCESS |
BuildRequestObjectByReferenceRedirectToAuthorizationEndpoint
Sending to authorization endpoint
|
||
|
2022-03-25 00:28:46 |
REDIRECT
|
fapi1-advanced-final-par-test-pushed-authorization-url-as-audience-for-client-JWT-assertion
Redirecting to authorization endpoint
|
||
|
2022-03-25 00:28:53 |
INCOMING
|
fapi1-advanced-final-par-test-pushed-authorization-url-as-audience-for-client-JWT-assertion
Incoming HTTP request to /test/a/xp/callback
|
||||||||||||||||||||
|
2022-03-25 00:28:53 |
SUCCESS
|
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
|
||
|
2022-03-25 00:28:53 |
OUTGOING
|
fapi1-advanced-final-par-test-pushed-authorization-url-as-audience-for-client-JWT-assertion
Response to HTTP request to test instance Q9KwF6K4syOVoB2
|
||||
|
2022-03-25 00:28:55 |
INCOMING
|
fapi1-advanced-final-par-test-pushed-authorization-url-as-audience-for-client-JWT-assertion
Incoming HTTP request to /test/a/xp/implicit/eIsZAsK6BYWjUuUJAZbe
|
||||||||||||||||||||
|
2022-03-25 00:28:55 |
OUTGOING
|
fapi1-advanced-final-par-test-pushed-authorization-url-as-audience-for-client-JWT-assertion
Response to HTTP request to test instance Q9KwF6K4syOVoB2
|
||||||||
|
2022-03-25 00:28:55 |
SUCCESS
|
ExtractImplicitHashToCallbackResponse
implicit_hash is empty
|
|
2022-03-25 00:28:55 |
REDIRECT-IN
|
fapi1-advanced-final-par-test-pushed-authorization-url-as-audience-for-client-JWT-assertion
Authorization endpoint response captured
|
||||||||||
|
Verify authorization endpoint response |
2022-03-25 00:28:55 | SUCCESS |
ExtractJARMFromURLQuery
Found and parsed the jarm_response from callback_query_params
|
||||||
|
2022-03-25 00:28:55 | SUCCESS |
RejectNonJarmResponsesInUrlQuery
Authorization endpoint response only includes the JARM JWT.
|
|
2022-03-25 00:28:55 |
SUCCESS
|
ExtractAuthorizationEndpointResponseFromJARMResponse
Extracted the authorization response
|
||||||
|
2022-03-25 00:28:55 | SUCCESS |
ValidateJARMResponse
JARM response standard JWT claims are valid
|
|
2022-03-25 00:28:55 | SUCCESS |
ValidateJARMExpRecommendations
JARM response 'exp' is less than 10 minutes
|
||||
|
2022-03-25 00:28:55 | SUCCESS |
ValidateJARMSignatureUsingKid
jarm_response signature validated
|
||
|
2022-03-25 00:28:55 | SUCCESS |
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
|
|
2022-03-25 00:28:55 |
SUCCESS
|
CheckMatchingCallbackParameters
Callback parameters successfully verified
|
|
2022-03-25 00:28:55 | 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)
|
|
2022-03-25 00:28:55 |
SUCCESS
|
CheckIfAuthorizationEndpointError
No error from authorization endpoint
|
|
2022-03-25 00:28:55 |
SUCCESS
|
ValidateSuccessfulJARMResponseFromAuthorizationEndpoint
authorization endpoint response does not include unexpected parameters
|
||||||
|
2022-03-25 00:28:55 | SUCCESS |
CheckStateInAuthorizationResponse
State in response correctly returned
|
||
|
2022-03-25 00:28:55 | SUCCESS |
ValidateIssInAuthorizationResponse
'iss' parameter in authorization response matches server's issuer value.
|
|
2022-03-25 00:28:55 |
SUCCESS
|
ExtractAuthorizationCodeFromAuthorizationResponse
Found authorization code
|
||
|
2022-03-25 00:28:55 | SUCCESS |
EnsureMinimumAuthorizationCodeLength
Authorization code is of sufficient length
|
||||
|
2022-03-25 00:28:55 | SUCCESS |
EnsureMinimumAuthorizationCodeEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
Call token endpoint |
2022-03-25 00:28:55 |
SUCCESS
|
CreateTokenEndpointRequestForAuthorizationCodeGrant
Created token endpoint request
|
||||||
|
2022-03-25 00:28:55 |
SUCCESS
|
CreateClientAuthenticationAssertionClaims
Created client assertion claims
|
||||||||||||
|
2022-03-25 00:28:55 |
SUCCESS
|
SignClientAuthenticationAssertion
Signed the client assertion
|
||
|
2022-03-25 00:28:55 |
|
AddClientAssertionToTokenEndpointRequest
Added client assertion
|
||||||||||
|
2022-03-25 00:28:55 |
|
AddCodeVerifierToTokenEndpointRequest
|
||||||||||||
|
2022-03-25 00:28:55 |
|
CallTokenEndpoint
HTTP request
|
||||||||||
|
2022-03-25 00:28:55 |
RESPONSE
|
CallTokenEndpoint
HTTP response
|
||||||||
|
2022-03-25 00:28:55 |
SUCCESS
|
CallTokenEndpoint
Parsed token endpoint response
|
||||||||||||
|
Verify token endpoint response |
2022-03-25 00:28:55 |
SUCCESS
|
CheckIfTokenEndpointResponseError
No error from token endpoint
|
|
2022-03-25 00:28:55 | SUCCESS |
CheckForAccessTokenValue
Found an access token
|
||
|
2022-03-25 00:28:55 |
SUCCESS
|
ExtractAccessTokenFromTokenResponse
Extracted the access token
|
||||
|
2022-03-25 00:28:55 | SUCCESS |
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
|
||
|
2022-03-25 00:28:55 | SUCCESS |
ValidateExpiresIn
expires_in passed all validation checks
|
||
|
2022-03-25 00:28:55 | SUCCESS |
FAPIBrazilValidateExpiresIn
expires_in no greater than 900 seconds and no less than 300 seconds
|
||
|
2022-03-25 00:28:55 |
SUCCESS
|
CheckForRefreshTokenValue
Found a refresh token
|
||
|
2022-03-25 00:28:55 | SUCCESS |
EnsureMinimumRefreshTokenLength
Refresh token is of sufficient length
|
||||
|
2022-03-25 00:28:55 | SUCCESS |
EnsureMinimumRefreshTokenEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-03-25 00:28:55 | SUCCESS |
EnsureMinimumAccessTokenLength
Access token is of sufficient length
|
||||
|
2022-03-25 00:28:55 | SUCCESS |
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
|
||||||
|
2022-03-25 00:28:55 | SUCCESS |
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
|
||||||
|
2022-03-25 00:28:55 | SUCCESS |
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2022-03-25 00:28:55 | SUCCESS |
EnsureIdTokenContainsKid
kid was found in the ID token header
|
||
|
2022-03-25 00:28:55 | SUCCESS |
ValidateIdTokenNonce
Nonce values match
|
||
|
2022-03-25 00:28:55 | SUCCESS |
ValidateIdTokenACRClaimAgainstRequest
Nothing to check; the conformance suite did not request an acr claim in request object
|
|
2022-03-25 00:28:55 | SUCCESS |
ValidateIdTokenSignature
id_token signature validated
|
||
|
2022-03-25 00:28:55 | SUCCESS |
ValidateIdTokenSignatureUsingKid
id_token signature validated
|
||
|
2022-03-25 00:28:55 | SUCCESS |
CheckForSubjectInIdToken
Found 'sub' in id_token
|
||
|
2022-03-25 00:28:55 | SUCCESS |
FAPIBrazilValidateIdTokenSigningAlg
id_token was signed with a permitted algorithm
|
||||
|
2022-03-25 00:28:55 | INFO |
FAPIValidateIdTokenEncryptionAlg
Skipped evaluation due to missing required element: id_token jwe_header
|
||||||
|
2022-03-25 00:28:55 | INFO |
FAPIValidateEncryptedIdTokenHasKid
Skipped evaluation due to missing required element: id_token jwe_header
|
||||||
|
2022-03-25 00:28:55 | INFO |
ExtractCHash
Couldn't find c_hash in ID token
|
|
2022-03-25 00:28:55 | INFO |
ExtractSHash
Couldn't find s_hash in ID token
|
|
2022-03-25 00:28:55 | SUCCESS |
ExtractAtHash
Extracted at_hash from ID Token
|
||||
|
2022-03-25 00:28:55 | INFO |
ValidateCHash
Skipped evaluation due to missing required object: c_hash
|
||||
|
2022-03-25 00:28:55 | INFO |
ValidateSHash
Skipped evaluation due to missing required object: s_hash
|
||||
|
2022-03-25 00:28:55 | SUCCESS |
ValidateAtHash
at_hash validated successfully
|
||||||
|
Resource server endpoint tests |
2022-03-25 00:28:55 |
|
CreateEmptyResourceEndpointRequestHeaders
Created empty headers
|
||
|
2022-03-25 00:28:55 | SUCCESS |
AddFAPIAuthDateToResourceEndpointRequest
Added x-fapi-auth-date to resource endpoint request headers
|
||
|
2022-03-25 00:28:55 |
|
AddIpV4FapiCustomerIpAddressToResourceEndpointRequest
Added x-fapi-customer-ip-address containing IPv4 address to resource endpoint request headers
|
||
|
2022-03-25 00:28:55 |
|
CreateRandomFAPIInteractionId
Created interaction ID
|
||
|
2022-03-25 00:28:55 | SUCCESS |
AddFAPIInteractionIdToResourceEndpointRequest
Added x-fapi-interaction-id to resource endpoint request headers
|
||
|
2022-03-25 00:28:55 |
SUCCESS
|
CreateIdempotencyKey
Created idempotency key
|
||
|
2022-03-25 00:28:55 |
SUCCESS
|
AddIdempotencyKeyHeader
Added x-idempotency-key to resource endpoint request headers
|
||
|
2022-03-25 00:28:55 |
SUCCESS
|
SetApplicationJwtContentTypeHeaderForResourceEndpointRequest
Set Content-Type header
|
||
|
2022-03-25 00:28:55 |
SUCCESS
|
SetApplicationJwtAcceptHeaderForResourceEndpointRequest
Set Accept header
|
||
|
2022-03-25 00:28:55 |
SUCCESS
|
SetResourceMethodToPost
Set protected resource access method to POST
|
|
2022-03-25 00:28:55 |
SUCCESS
|
CreatePaymentRequestEntityClaims
|
||
|
2022-03-25 00:28:55 | SUCCESS |
AddAudAsPaymentInitiationUriToRequestObject
Added aud to request object claims
|
||
|
2022-03-25 00:28:55 |
|
AddIssAsCertificateOuToRequestObject
Added iss value based on TLS certificate organizational unit to request object claims
|
||
|
2022-03-25 00:28:55 | SUCCESS |
AddJtiAsUuidToRequestObject
Added jti to request object claims
|
||
|
2022-03-25 00:28:55 | SUCCESS |
AddIatToRequestObject
Added iat to request object claims
|
||
|
2022-03-25 00:28:55 |
SUCCESS
|
FAPIBrazilSignPaymentInitiationRequest
Signed the request
|
||||||||
|
2022-03-25 00:28:55 |
|
CallProtectedResource
HTTP request
|
||||||||||
|
2022-03-25 00:28:57 |
RESPONSE
|
CallProtectedResource
HTTP response
|
||||||||
|
2022-03-25 00:28:57 | SUCCESS |
CallProtectedResource
Got a response from the resource endpoint
|
||||||||
|
2022-03-25 00:28:57 |
SUCCESS
|
EnsureHttpStatusCodeIs200or201
resource endpoint http status code was 201
|
|
2022-03-25 00:28:57 | SUCCESS |
CheckForDateHeaderInResourceResponse
Date header present and validated
|
||||
|
2022-03-25 00:28:57 | SUCCESS |
CheckForFAPIInteractionIdInResourceResponse
Found x-fapi-interaction-id
|
||
|
2022-03-25 00:28:57 | SUCCESS |
EnsureMatchingFAPIInteractionId
Interaction ID matched
|
||
|
2022-03-25 00:28:57 | SUCCESS |
EnsureContentTypeApplicationJwt
endpoint_response Content-Type: header is application/jwt
|
|
2022-03-25 00:28:57 |
SUCCESS
|
EnsureHttpStatusCodeIs201
resource endpoint returned the expected http status
|
||||
|
2022-03-25 00:28:57 | SUCCESS |
ExtractSignedJwtFromResourceResponse
Found and parsed the JWT from payment consent endpoint
|
||||||
|
2022-03-25 00:28:57 | SUCCESS |
FAPIBrazilValidateResourceResponseSigningAlg
Response was signed with PS256
|
||
|
2022-03-25 00:28:57 | SUCCESS |
FAPIBrazilValidateResourceResponseTyp
'typ' is the header of the JWT returned in the API response is 'JWT'
|
||
|
2022-03-25 00:28:57 |
|
FetchServerKeys
Fetching server key
|
||
|
2022-03-25 00:28:57 |
|
FetchServerKeys
HTTP request
|
||||||||||
|
2022-03-25 00:28:57 |
RESPONSE
|
FetchServerKeys
HTTP response
|
||||||||
|
2022-03-25 00:28:57 |
|
FetchServerKeys
Found JWK set string
|
||
|
2022-03-25 00:28:57 |
SUCCESS
|
FetchServerKeys
Found server JWK set
|
||
|
2022-03-25 00:28:57 | SUCCESS |
ValidateResourceResponseSignature
endpoint_response_jwt signature validated
|
||
|
2022-03-25 00:28:57 | SUCCESS |
ValidateResourceResponseJwtClaims
Resource endpoint response JWS iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
|
|
2022-03-25 00:28:57 |
FINISHED
|
fapi1-advanced-final-par-test-pushed-authorization-url-as-audience-for-client-JWT-assertion
Test has run to completion
|
||
|
2022-03-25 00:28:58 |
|
TEST-RUNNER
Alias has now been claimed by another test
|
||||
|