Test Summary

Test Results

Expand All Collapse All
All times are UTC
2021-03-28 14:26:31 INFO
TEST-RUNNER
Test instance bf8nOpmC6HRyIeD created
baseUrl
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client
variant
{
  "client_auth_type": "client_secret_basic",
  "response_type": "code id_token",
  "server_metadata": "discovery",
  "response_mode": "form_post",
  "client_registration": "dynamic_client"
}
alias
oidc-provider-discovery-dynamic_client
description
PlusAuth Form Post OP Conformance
planId
WK2ipMiqqcAEM
config
{
  "alias": "oidc-provider-discovery-dynamic_client",
  "server": {
    "discoveryUrl": "https://certification.plusauth.com/.well-known/openid-configuration",
    "login_hint": "bob@example.com"
  },
  "client": {
    "client_name": "first-openid-client"
  },
  "client2": {
    "client_name": "second-openid-client"
  },
  "browser": [
    {
      "match": "https://certification.plusauth.com/oauth/auth*",
      "tasks": [
        {
          "task": "Login",
          "optional": true,
          "match": "https://certification.plusauth.com/signin*",
          "commands": [
            [
              "text",
              "name",
              "username",
              "foo",
              "optional"
            ],
            [
              "text",
              "name",
              "password",
              "bar",
              "optional"
            ],
            [
              "click",
              "class",
              "login-submit"
            ]
          ]
        },
        {
          "task": "Consent",
          "optional": true,
          "match": "https://certification.plusauth.com/signin/consent*",
          "commands": [
            [
              "click",
              "class",
              "login-submit"
            ]
          ]
        },
        {
          "task": "Verify Complete",
          "match": "*/test/*/callback*",
          "commands": [
            [
              "wait",
              "id",
              "submission_complete",
              10
            ]
          ]
        }
      ]
    },
    {
      "match": "https://certification.plusauth.com/logout*",
      "tasks": [
        {
          "task": "Verify Complete",
          "match": "*/test/*/post*"
        }
      ]
    }
  ],
  "description": "PlusAuth Form Post OP Conformance"
}
testName
oidcc-refresh-token
2021-03-28 14:26:31 SUCCESS
CreateRedirectUri
Created redirect URI
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
2021-03-28 14:26:31
GetDynamicServerConfiguration
HTTP request
request_uri
https://certification.plusauth.com/.well-known/openid-configuration
request_method
GET
request_headers
{
  "accept": "text/plain, application/json, application/cbor, application/*+json, */*",
  "content-length": "0"
}
request_body

                                
2021-03-28 14:26:31 RESPONSE
GetDynamicServerConfiguration
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "vary": "Origin",
  "content-type": "application/json; charset\u003dutf-8",
  "content-length": "4735",
  "date": "Sun, 28 Mar 2021 14:26:31 GMT",
  "x-envoy-upstream-service-time": "6",
  "server": "istio-envoy"
}
response_body
{"acr_values_supported":["urn:mace:incommon:iap:bronze","urn:mace:incommon:iap:silver"],"authorization_endpoint":"https://certification.plusauth.com/oauth/auth","device_authorization_endpoint":"https://certification.plusauth.com/oauth/device/auth","claims_parameter_supported":true,"claims_supported":["sub","birthdate","family_name","gender","given_name","locale","middle_name","name","username","nickname","picture","preferred_username","profile","updated_at","website","zoneinfo","email","email_verified","address","phone_number","phone_number_verified","metadata","roles","roleGroups","permissions","acr","sid","auth_time","iss","amr"],"code_challenge_methods_supported":["S256"],"end_session_endpoint":"https://certification.plusauth.com/logout","check_session_iframe":"https://certification.plusauth.com/session/check","grant_types_supported":["implicit","authorization_code","refresh_token","client_credentials","urn:ietf:params:oauth:grant-type:device_code","urn:ietf:params:oauth:grant-type:token-exchange"],"id_token_signing_alg_values_supported":["HS256","ES256","EdDSA","PS256","RS256"],"issuer":"https://certification.plusauth.com","jwks_uri":"https://certification.plusauth.com/.well-known/jwks.json","registration_endpoint":"https://certification.plusauth.com/oauth/reg","response_modes_supported":["form_post","fragment","query","web_message","jwt","query.jwt","fragment.jwt","form_post.jwt","web_message.jwt"],"response_types_supported":["code id_token token","code id_token","code token","code","token","id_token token","id_token","none"],"scopes_supported":["openid","offline_access","profile","email","address","phone","metadata","rbac"],"subject_types_supported":["public","pairwise"],"token_endpoint_auth_methods_supported":["none","client_secret_basic","client_secret_jwt","client_secret_post","private_key_jwt","tls_client_auth","self_signed_tls_client_auth"],"token_endpoint_auth_signing_alg_values_supported":["HS256","RS256","PS256","ES256","EdDSA"],"token_endpoint":"https://certification.plusauth.com/oauth/token","pushed_authorization_request_endpoint":"https://certification.plusauth.com/oauth/request","request_object_signing_alg_values_supported":["HS256","RS256","PS256","ES256","EdDSA"],"request_parameter_supported":true,"request_uri_parameter_supported":true,"require_request_uri_registration":true,"userinfo_endpoint":"https://certification.plusauth.com/me","userinfo_signing_alg_values_supported":["HS256","ES256","EdDSA","PS256","RS256"],"authorization_signing_alg_values_supported":["HS256","ES256","EdDSA","PS256","RS256"],"introspection_endpoint":"https://certification.plusauth.com/oauth/introspect","introspection_endpoint_auth_methods_supported":["none","client_secret_basic","client_secret_jwt","client_secret_post","private_key_jwt","tls_client_auth","self_signed_tls_client_auth"],"introspection_endpoint_auth_signing_alg_values_supported":["HS256","RS256","PS256","ES256","EdDSA"],"introspection_signing_alg_values_supported":["HS256","ES256","EdDSA","PS256","RS256"],"revocation_endpoint":"https://certification.plusauth.com/oauth/token/revocation","revocation_endpoint_auth_methods_supported":["none","client_secret_basic","client_secret_jwt","client_secret_post","private_key_jwt","tls_client_auth","self_signed_tls_client_auth"],"revocation_endpoint_auth_signing_alg_values_supported":["HS256","RS256","PS256","ES256","EdDSA"],"id_token_encryption_alg_values_supported":["A128KW","A256KW","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A256KW","RSA-OAEP"],"id_token_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A256CBC-HS512","A256GCM"],"userinfo_encryption_alg_values_supported":["A128KW","A256KW","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A256KW","RSA-OAEP"],"userinfo_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A256CBC-HS512","A256GCM"],"introspection_encryption_alg_values_supported":["A128KW","A256KW","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A256KW","RSA-OAEP"],"introspection_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A256CBC-HS512","A256GCM"],"authorization_encryption_alg_values_supported":["A128KW","A256KW","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A256KW","RSA-OAEP"],"authorization_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A256CBC-HS512","A256GCM"],"request_object_encryption_alg_values_supported":["A128KW","A256KW","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A256KW","RSA-OAEP"],"request_object_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A256CBC-HS512","A256GCM"],"backchannel_logout_supported":true,"backchannel_logout_session_supported":true,"frontchannel_logout_supported":true,"frontchannel_logout_session_supported":true,"tls_client_certificate_bound_access_tokens":true,"claim_types_supported":["normal"]}
2021-03-28 14:26:31
GetDynamicServerConfiguration
Downloaded server configuration
server_config_string
{"acr_values_supported":["urn:mace:incommon:iap:bronze","urn:mace:incommon:iap:silver"],"authorization_endpoint":"https://certification.plusauth.com/oauth/auth","device_authorization_endpoint":"https://certification.plusauth.com/oauth/device/auth","claims_parameter_supported":true,"claims_supported":["sub","birthdate","family_name","gender","given_name","locale","middle_name","name","username","nickname","picture","preferred_username","profile","updated_at","website","zoneinfo","email","email_verified","address","phone_number","phone_number_verified","metadata","roles","roleGroups","permissions","acr","sid","auth_time","iss","amr"],"code_challenge_methods_supported":["S256"],"end_session_endpoint":"https://certification.plusauth.com/logout","check_session_iframe":"https://certification.plusauth.com/session/check","grant_types_supported":["implicit","authorization_code","refresh_token","client_credentials","urn:ietf:params:oauth:grant-type:device_code","urn:ietf:params:oauth:grant-type:token-exchange"],"id_token_signing_alg_values_supported":["HS256","ES256","EdDSA","PS256","RS256"],"issuer":"https://certification.plusauth.com","jwks_uri":"https://certification.plusauth.com/.well-known/jwks.json","registration_endpoint":"https://certification.plusauth.com/oauth/reg","response_modes_supported":["form_post","fragment","query","web_message","jwt","query.jwt","fragment.jwt","form_post.jwt","web_message.jwt"],"response_types_supported":["code id_token token","code id_token","code token","code","token","id_token token","id_token","none"],"scopes_supported":["openid","offline_access","profile","email","address","phone","metadata","rbac"],"subject_types_supported":["public","pairwise"],"token_endpoint_auth_methods_supported":["none","client_secret_basic","client_secret_jwt","client_secret_post","private_key_jwt","tls_client_auth","self_signed_tls_client_auth"],"token_endpoint_auth_signing_alg_values_supported":["HS256","RS256","PS256","ES256","EdDSA"],"token_endpoint":"https://certification.plusauth.com/oauth/token","pushed_authorization_request_endpoint":"https://certification.plusauth.com/oauth/request","request_object_signing_alg_values_supported":["HS256","RS256","PS256","ES256","EdDSA"],"request_parameter_supported":true,"request_uri_parameter_supported":true,"require_request_uri_registration":true,"userinfo_endpoint":"https://certification.plusauth.com/me","userinfo_signing_alg_values_supported":["HS256","ES256","EdDSA","PS256","RS256"],"authorization_signing_alg_values_supported":["HS256","ES256","EdDSA","PS256","RS256"],"introspection_endpoint":"https://certification.plusauth.com/oauth/introspect","introspection_endpoint_auth_methods_supported":["none","client_secret_basic","client_secret_jwt","client_secret_post","private_key_jwt","tls_client_auth","self_signed_tls_client_auth"],"introspection_endpoint_auth_signing_alg_values_supported":["HS256","RS256","PS256","ES256","EdDSA"],"introspection_signing_alg_values_supported":["HS256","ES256","EdDSA","PS256","RS256"],"revocation_endpoint":"https://certification.plusauth.com/oauth/token/revocation","revocation_endpoint_auth_methods_supported":["none","client_secret_basic","client_secret_jwt","client_secret_post","private_key_jwt","tls_client_auth","self_signed_tls_client_auth"],"revocation_endpoint_auth_signing_alg_values_supported":["HS256","RS256","PS256","ES256","EdDSA"],"id_token_encryption_alg_values_supported":["A128KW","A256KW","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A256KW","RSA-OAEP"],"id_token_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A256CBC-HS512","A256GCM"],"userinfo_encryption_alg_values_supported":["A128KW","A256KW","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A256KW","RSA-OAEP"],"userinfo_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A256CBC-HS512","A256GCM"],"introspection_encryption_alg_values_supported":["A128KW","A256KW","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A256KW","RSA-OAEP"],"introspection_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A256CBC-HS512","A256GCM"],"authorization_encryption_alg_values_supported":["A128KW","A256KW","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A256KW","RSA-OAEP"],"authorization_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A256CBC-HS512","A256GCM"],"request_object_encryption_alg_values_supported":["A128KW","A256KW","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A256KW","RSA-OAEP"],"request_object_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A256CBC-HS512","A256GCM"],"backchannel_logout_supported":true,"backchannel_logout_session_supported":true,"frontchannel_logout_supported":true,"frontchannel_logout_session_supported":true,"tls_client_certificate_bound_access_tokens":true,"claim_types_supported":["normal"]}
2021-03-28 14:26:31 SUCCESS
GetDynamicServerConfiguration
Successfully parsed server configuration
acr_values_supported
[
  "urn:mace:incommon:iap:bronze",
  "urn:mace:incommon:iap:silver"
]
authorization_endpoint
https://certification.plusauth.com/oauth/auth
device_authorization_endpoint
https://certification.plusauth.com/oauth/device/auth
claims_parameter_supported
true
claims_supported
[
  "sub",
  "birthdate",
  "family_name",
  "gender",
  "given_name",
  "locale",
  "middle_name",
  "name",
  "username",
  "nickname",
  "picture",
  "preferred_username",
  "profile",
  "updated_at",
  "website",
  "zoneinfo",
  "email",
  "email_verified",
  "address",
  "phone_number",
  "phone_number_verified",
  "metadata",
  "roles",
  "roleGroups",
  "permissions",
  "acr",
  "sid",
  "auth_time",
  "iss",
  "amr"
]
code_challenge_methods_supported
[
  "S256"
]
end_session_endpoint
https://certification.plusauth.com/logout
check_session_iframe
https://certification.plusauth.com/session/check
grant_types_supported
[
  "implicit",
  "authorization_code",
  "refresh_token",
  "client_credentials",
  "urn:ietf:params:oauth:grant-type:device_code",
  "urn:ietf:params:oauth:grant-type:token-exchange"
]
id_token_signing_alg_values_supported
[
  "HS256",
  "ES256",
  "EdDSA",
  "PS256",
  "RS256"
]
issuer
https://certification.plusauth.com
jwks_uri
https://certification.plusauth.com/.well-known/jwks.json
registration_endpoint
https://certification.plusauth.com/oauth/reg
response_modes_supported
[
  "form_post",
  "fragment",
  "query",
  "web_message",
  "jwt",
  "query.jwt",
  "fragment.jwt",
  "form_post.jwt",
  "web_message.jwt"
]
response_types_supported
[
  "code id_token token",
  "code id_token",
  "code token",
  "code",
  "token",
  "id_token token",
  "id_token",
  "none"
]
scopes_supported
[
  "openid",
  "offline_access",
  "profile",
  "email",
  "address",
  "phone",
  "metadata",
  "rbac"
]
subject_types_supported
[
  "public",
  "pairwise"
]
token_endpoint_auth_methods_supported
[
  "none",
  "client_secret_basic",
  "client_secret_jwt",
  "client_secret_post",
  "private_key_jwt",
  "tls_client_auth",
  "self_signed_tls_client_auth"
]
token_endpoint_auth_signing_alg_values_supported
[
  "HS256",
  "RS256",
  "PS256",
  "ES256",
  "EdDSA"
]
token_endpoint
https://certification.plusauth.com/oauth/token
pushed_authorization_request_endpoint
https://certification.plusauth.com/oauth/request
request_object_signing_alg_values_supported
[
  "HS256",
  "RS256",
  "PS256",
  "ES256",
  "EdDSA"
]
request_parameter_supported
true
request_uri_parameter_supported
true
require_request_uri_registration
true
userinfo_endpoint
https://certification.plusauth.com/me
userinfo_signing_alg_values_supported
[
  "HS256",
  "ES256",
  "EdDSA",
  "PS256",
  "RS256"
]
authorization_signing_alg_values_supported
[
  "HS256",
  "ES256",
  "EdDSA",
  "PS256",
  "RS256"
]
introspection_endpoint
https://certification.plusauth.com/oauth/introspect
introspection_endpoint_auth_methods_supported
[
  "none",
  "client_secret_basic",
  "client_secret_jwt",
  "client_secret_post",
  "private_key_jwt",
  "tls_client_auth",
  "self_signed_tls_client_auth"
]
introspection_endpoint_auth_signing_alg_values_supported
[
  "HS256",
  "RS256",
  "PS256",
  "ES256",
  "EdDSA"
]
introspection_signing_alg_values_supported
[
  "HS256",
  "ES256",
  "EdDSA",
  "PS256",
  "RS256"
]
revocation_endpoint
https://certification.plusauth.com/oauth/token/revocation
revocation_endpoint_auth_methods_supported
[
  "none",
  "client_secret_basic",
  "client_secret_jwt",
  "client_secret_post",
  "private_key_jwt",
  "tls_client_auth",
  "self_signed_tls_client_auth"
]
revocation_endpoint_auth_signing_alg_values_supported
[
  "HS256",
  "RS256",
  "PS256",
  "ES256",
  "EdDSA"
]
id_token_encryption_alg_values_supported
[
  "A128KW",
  "A256KW",
  "ECDH-ES",
  "ECDH-ES+A128KW",
  "ECDH-ES+A256KW",
  "RSA-OAEP"
]
id_token_encryption_enc_values_supported
[
  "A128CBC-HS256",
  "A128GCM",
  "A256CBC-HS512",
  "A256GCM"
]
userinfo_encryption_alg_values_supported
[
  "A128KW",
  "A256KW",
  "ECDH-ES",
  "ECDH-ES+A128KW",
  "ECDH-ES+A256KW",
  "RSA-OAEP"
]
userinfo_encryption_enc_values_supported
[
  "A128CBC-HS256",
  "A128GCM",
  "A256CBC-HS512",
  "A256GCM"
]
introspection_encryption_alg_values_supported
[
  "A128KW",
  "A256KW",
  "ECDH-ES",
  "ECDH-ES+A128KW",
  "ECDH-ES+A256KW",
  "RSA-OAEP"
]
introspection_encryption_enc_values_supported
[
  "A128CBC-HS256",
  "A128GCM",
  "A256CBC-HS512",
  "A256GCM"
]
authorization_encryption_alg_values_supported
[
  "A128KW",
  "A256KW",
  "ECDH-ES",
  "ECDH-ES+A128KW",
  "ECDH-ES+A256KW",
  "RSA-OAEP"
]
authorization_encryption_enc_values_supported
[
  "A128CBC-HS256",
  "A128GCM",
  "A256CBC-HS512",
  "A256GCM"
]
request_object_encryption_alg_values_supported
[
  "A128KW",
  "A256KW",
  "ECDH-ES",
  "ECDH-ES+A128KW",
  "ECDH-ES+A256KW",
  "RSA-OAEP"
]
request_object_encryption_enc_values_supported
[
  "A128CBC-HS256",
  "A128GCM",
  "A256CBC-HS512",
  "A256GCM"
]
backchannel_logout_supported
true
backchannel_logout_session_supported
true
frontchannel_logout_supported
true
frontchannel_logout_session_supported
true
tls_client_certificate_bound_access_tokens
true
claim_types_supported
[
  "normal"
]
2021-03-28 14:26:31 SUCCESS
CheckServerConfiguration
Found required server configuration keys
required
[
  "authorization_endpoint",
  "token_endpoint",
  "issuer"
]
2021-03-28 14:26:31 SUCCESS
ExtractTLSTestValuesFromServerConfiguration
Extracted TLS information from authorization server configuration
registration_endpoint
{
  "testHost": "certification.plusauth.com",
  "testPort": 443
}
authorization_endpoint
{
  "testHost": "certification.plusauth.com",
  "testPort": 443
}
token_endpoint
{
  "testHost": "certification.plusauth.com",
  "testPort": 443
}
userinfo_endpoint
{
  "testHost": "certification.plusauth.com",
  "testPort": 443
}
2021-03-28 14:26:31
FetchServerKeys
Fetching server key
jwks_uri
https://certification.plusauth.com/.well-known/jwks.json
2021-03-28 14:26:31
FetchServerKeys
HTTP request
request_uri
https://certification.plusauth.com/.well-known/jwks.json
request_method
GET
request_headers
{
  "accept": "text/plain, application/json, application/cbor, application/*+json, */*",
  "content-length": "0"
}
request_body

                                
2021-03-28 14:26:32 RESPONSE
FetchServerKeys
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "vary": "Origin",
  "content-type": "application/json; charset\u003dutf-8",
  "content-length": "2810",
  "date": "Sun, 28 Mar 2021 14:26:32 GMT",
  "x-envoy-upstream-service-time": "7",
  "server": "istio-envoy"
}
response_body
{"keys":[{"crv":"P-256","x":"pus2plcFzciOvQRrAfwm45u2NHw-IhjZe0gk55vO--o","y":"McjUvdFc5nd2YEk9PLYw1HoHkYBBL42jtSoqAe4dCzM","kty":"EC","kid":"atDaXCMyhIUMZISEtmnBRX_C4BT7GoJUD4CMYWGbi_o","use":"sig"},{"crv":"P-256","x":"I8yVbnSd4WJjYH3age2eLK_S9sBtP8djG9y50X13yT0","y":"29Jzh2o85AU1LOzK-SamLLHpXT0O439upvRMvvaeMQA","kty":"EC","kid":"g6MupPz7xKWQ0tKtZLcjBlnA2JAv1VH1NWYtPbsDa2o","use":"enc"},{"crv":"secp256k1","x":"65X_LqUa4XNR3ShA8hLtG-1YDKXEdWHagihJkSspdSQ","y":"Mc8XQxxJnjSJjfcrd7hhlZMyQtHU4gANSFBzr1GsKKA","kty":"EC","kid":"cUJPqrATv3GVASHuCADHyW8p8C4wR5H_nTyaf5adzy0","use":"sig"},{"crv":"P-384","x":"rPUdhjvgdhRCox2456G0CIoKaTwZ8GnbYxwjf42QsT3VtPXi3p1c2RVs8XiDutrI","y":"B_lZyUrqzwwiGHRIf5rGIXwzSgrRCoN2Hv01PPnMMeMzHVExMQCpIlkZrXO9bDKm","kty":"EC","kid":"6JVT-_BVPkvO-MljZhfaMeYC-LmZjlWj0SlzJLRA4yk","use":"sig"},{"crv":"P-384","x":"cIPV-GMwYobrMFKUHmgzvaliMUtDwO73Ht7X1AQPIpfBDIS7ovnZkt90DzcPn59P","y":"4V2b3W7jRNZqANOc60LacK1pb62GVF5Dyn2Ra4wzbhRLGDVdD_UoazOW56TZ5tsl","kty":"EC","kid":"mIw-fa5LyZnypKpbddViJjWMjl8B5A-I5A31H_igCd8","use":"enc"},{"crv":"P-521","x":"AWyeRdPc35GRFdiu2dYhFgwcSJoUPw38qmUgG0VZSgsbdWWJxUv_iWWIux9hJono6f_qF-lq2At3xdGVBLR7BF5f","y":"AY7WKdsbjyaMZ4Wh8o8Uy5Bju9WxD6N1A7r5_8o5OFIeqD_hej9FxuQDWC4rxU7Ls84yVVtPRG81TaXRoKBxr5XZ","kty":"EC","kid":"w1A1G94s-hK5YrIqWgmV30gtOZ85yQCP3ZMOPTzbc-0","use":"sig"},{"crv":"Ed25519","x":"kAdD9v4ErkCNxQdNMrf4IIplW6YUYBMWkECnLxnZ2tk","kty":"OKP","kid":"ONnNDJq5ZuIAcJyRHpZyZSDcVFf78F1eRhoElXlYEr8","use":"sig"},{"crv":"P-521","x":"AErKX164tyXiv5BwPMyrjoUGyXJ5hX1X7sRgvI0mnbfZhCRnKL67-q5PmTP31OkzA4xQGmAOyBIZvNSJ1p8txIQ3","y":"ALRaE4Q3SLQPNAW_AXIOke34SFwXq2a5FiMHWY9zpJcmCQk9VJH7bG3AnHY_hxu2R-zC5caLy6TPcSzr9Dy4F0DX","kty":"EC","kid":"xKnQ0Rm1_EMwHefKR9UOt0IwCspmyr93L_GDMO_xqq8","use":"enc"},{"crv":"Ed448","x":"sNcFa_zimfHYOSQNS52N-nOX-CYG4dFXoTeuWHnulTj6Fn3heSObBl2NY5ifB9qyP4MHgnAtiboA","kty":"OKP","kid":"MCsSgS9d92FbCGRyBo91MYcXOtXF9qoOeXz65UR5EF8","use":"sig"},{"e":"AQAB","n":"q18zoa2EagO8rzK9svtdY3U2T7DiyZ6F6RUQcpF0AvUK1z4mANLlfhtasJ01BKSP25xLbO8xF72bOd07sQazQUMumKNuU1p8kzYH5yvXNRrFPg-G6r6NWzhT3qx5ov1jkdc2zqa8yj25DfXP6btFFYqfQoPBaFwSXxHLDOXLBfa5wuLnJFL8Yt6qm5aKaOOEJ_X8CfwKH_ajBUD4MhospWZbe9gyt7gKO28sdo8VdNFCq-OG9FWWCwDgS9AYfXOHIHMNvim6sOSsT__6ETkDqUxqYYPgsANARfASBYZs7FiJMv88Hjpa5BH60gbbdYWrCkq1vGh8u1nu0R6WfsxX6w","kty":"RSA","kid":"9dtTMGokAYuDGQjdE6lyhwR_wM0CgihB-BX6lk6-ZO4","use":"sig"},{"e":"AQAB","n":"xU_pU1APQpq581Q760Nd3UwDwKqjN62NPoXyPWxkTD15H2QDYkPMhbzY5J1TizMGGdegbeN--tnhBxMzIRxqcf83UBKvakYYJBr49dvXQSWqdpn8yG6STmO9kpG94vDQP49VBJ8YmXh6A5104_G2qXfQKe33cexKpJPKNedtDhUGUjOLzhYHjRIAGmWBsaLq5Dcbg1UtLEonzEznjKYPDUGhpE7Ao4eVeVEh0ZlFE3aocORW3xkT7uJFPq0pWBCHwD5PDPHtUQczDbbP4xn4Gr8r-vTHrxhv1WYH0NH61-YHqgG_csDat5ef3m0pJbzx7euitxxcr1bDuesB5g4fCQ","kty":"RSA","kid":"OVJpBKI4nfn-A3ZuYX6xkjNc7KhugIIm-y5Douaj6Sg","use":"enc"}]}
2021-03-28 14:26:32
FetchServerKeys
Found JWK set string
jwk_string
{"keys":[{"crv":"P-256","x":"pus2plcFzciOvQRrAfwm45u2NHw-IhjZe0gk55vO--o","y":"McjUvdFc5nd2YEk9PLYw1HoHkYBBL42jtSoqAe4dCzM","kty":"EC","kid":"atDaXCMyhIUMZISEtmnBRX_C4BT7GoJUD4CMYWGbi_o","use":"sig"},{"crv":"P-256","x":"I8yVbnSd4WJjYH3age2eLK_S9sBtP8djG9y50X13yT0","y":"29Jzh2o85AU1LOzK-SamLLHpXT0O439upvRMvvaeMQA","kty":"EC","kid":"g6MupPz7xKWQ0tKtZLcjBlnA2JAv1VH1NWYtPbsDa2o","use":"enc"},{"crv":"secp256k1","x":"65X_LqUa4XNR3ShA8hLtG-1YDKXEdWHagihJkSspdSQ","y":"Mc8XQxxJnjSJjfcrd7hhlZMyQtHU4gANSFBzr1GsKKA","kty":"EC","kid":"cUJPqrATv3GVASHuCADHyW8p8C4wR5H_nTyaf5adzy0","use":"sig"},{"crv":"P-384","x":"rPUdhjvgdhRCox2456G0CIoKaTwZ8GnbYxwjf42QsT3VtPXi3p1c2RVs8XiDutrI","y":"B_lZyUrqzwwiGHRIf5rGIXwzSgrRCoN2Hv01PPnMMeMzHVExMQCpIlkZrXO9bDKm","kty":"EC","kid":"6JVT-_BVPkvO-MljZhfaMeYC-LmZjlWj0SlzJLRA4yk","use":"sig"},{"crv":"P-384","x":"cIPV-GMwYobrMFKUHmgzvaliMUtDwO73Ht7X1AQPIpfBDIS7ovnZkt90DzcPn59P","y":"4V2b3W7jRNZqANOc60LacK1pb62GVF5Dyn2Ra4wzbhRLGDVdD_UoazOW56TZ5tsl","kty":"EC","kid":"mIw-fa5LyZnypKpbddViJjWMjl8B5A-I5A31H_igCd8","use":"enc"},{"crv":"P-521","x":"AWyeRdPc35GRFdiu2dYhFgwcSJoUPw38qmUgG0VZSgsbdWWJxUv_iWWIux9hJono6f_qF-lq2At3xdGVBLR7BF5f","y":"AY7WKdsbjyaMZ4Wh8o8Uy5Bju9WxD6N1A7r5_8o5OFIeqD_hej9FxuQDWC4rxU7Ls84yVVtPRG81TaXRoKBxr5XZ","kty":"EC","kid":"w1A1G94s-hK5YrIqWgmV30gtOZ85yQCP3ZMOPTzbc-0","use":"sig"},{"crv":"Ed25519","x":"kAdD9v4ErkCNxQdNMrf4IIplW6YUYBMWkECnLxnZ2tk","kty":"OKP","kid":"ONnNDJq5ZuIAcJyRHpZyZSDcVFf78F1eRhoElXlYEr8","use":"sig"},{"crv":"P-521","x":"AErKX164tyXiv5BwPMyrjoUGyXJ5hX1X7sRgvI0mnbfZhCRnKL67-q5PmTP31OkzA4xQGmAOyBIZvNSJ1p8txIQ3","y":"ALRaE4Q3SLQPNAW_AXIOke34SFwXq2a5FiMHWY9zpJcmCQk9VJH7bG3AnHY_hxu2R-zC5caLy6TPcSzr9Dy4F0DX","kty":"EC","kid":"xKnQ0Rm1_EMwHefKR9UOt0IwCspmyr93L_GDMO_xqq8","use":"enc"},{"crv":"Ed448","x":"sNcFa_zimfHYOSQNS52N-nOX-CYG4dFXoTeuWHnulTj6Fn3heSObBl2NY5ifB9qyP4MHgnAtiboA","kty":"OKP","kid":"MCsSgS9d92FbCGRyBo91MYcXOtXF9qoOeXz65UR5EF8","use":"sig"},{"e":"AQAB","n":"q18zoa2EagO8rzK9svtdY3U2T7DiyZ6F6RUQcpF0AvUK1z4mANLlfhtasJ01BKSP25xLbO8xF72bOd07sQazQUMumKNuU1p8kzYH5yvXNRrFPg-G6r6NWzhT3qx5ov1jkdc2zqa8yj25DfXP6btFFYqfQoPBaFwSXxHLDOXLBfa5wuLnJFL8Yt6qm5aKaOOEJ_X8CfwKH_ajBUD4MhospWZbe9gyt7gKO28sdo8VdNFCq-OG9FWWCwDgS9AYfXOHIHMNvim6sOSsT__6ETkDqUxqYYPgsANARfASBYZs7FiJMv88Hjpa5BH60gbbdYWrCkq1vGh8u1nu0R6WfsxX6w","kty":"RSA","kid":"9dtTMGokAYuDGQjdE6lyhwR_wM0CgihB-BX6lk6-ZO4","use":"sig"},{"e":"AQAB","n":"xU_pU1APQpq581Q760Nd3UwDwKqjN62NPoXyPWxkTD15H2QDYkPMhbzY5J1TizMGGdegbeN--tnhBxMzIRxqcf83UBKvakYYJBr49dvXQSWqdpn8yG6STmO9kpG94vDQP49VBJ8YmXh6A5104_G2qXfQKe33cexKpJPKNedtDhUGUjOLzhYHjRIAGmWBsaLq5Dcbg1UtLEonzEznjKYPDUGhpE7Ao4eVeVEh0ZlFE3aocORW3xkT7uJFPq0pWBCHwD5PDPHtUQczDbbP4xn4Gr8r-vTHrxhv1WYH0NH61-YHqgG_csDat5ef3m0pJbzx7euitxxcr1bDuesB5g4fCQ","kty":"RSA","kid":"OVJpBKI4nfn-A3ZuYX6xkjNc7KhugIIm-y5Douaj6Sg","use":"enc"}]}
2021-03-28 14:26:32 SUCCESS
FetchServerKeys
Found server JWK set
server_jwks
{
  "keys": [
    {
      "crv": "P-256",
      "x": "pus2plcFzciOvQRrAfwm45u2NHw-IhjZe0gk55vO--o",
      "y": "McjUvdFc5nd2YEk9PLYw1HoHkYBBL42jtSoqAe4dCzM",
      "kty": "EC",
      "kid": "atDaXCMyhIUMZISEtmnBRX_C4BT7GoJUD4CMYWGbi_o",
      "use": "sig"
    },
    {
      "crv": "P-256",
      "x": "I8yVbnSd4WJjYH3age2eLK_S9sBtP8djG9y50X13yT0",
      "y": "29Jzh2o85AU1LOzK-SamLLHpXT0O439upvRMvvaeMQA",
      "kty": "EC",
      "kid": "g6MupPz7xKWQ0tKtZLcjBlnA2JAv1VH1NWYtPbsDa2o",
      "use": "enc"
    },
    {
      "crv": "secp256k1",
      "x": "65X_LqUa4XNR3ShA8hLtG-1YDKXEdWHagihJkSspdSQ",
      "y": "Mc8XQxxJnjSJjfcrd7hhlZMyQtHU4gANSFBzr1GsKKA",
      "kty": "EC",
      "kid": "cUJPqrATv3GVASHuCADHyW8p8C4wR5H_nTyaf5adzy0",
      "use": "sig"
    },
    {
      "crv": "P-384",
      "x": "rPUdhjvgdhRCox2456G0CIoKaTwZ8GnbYxwjf42QsT3VtPXi3p1c2RVs8XiDutrI",
      "y": "B_lZyUrqzwwiGHRIf5rGIXwzSgrRCoN2Hv01PPnMMeMzHVExMQCpIlkZrXO9bDKm",
      "kty": "EC",
      "kid": "6JVT-_BVPkvO-MljZhfaMeYC-LmZjlWj0SlzJLRA4yk",
      "use": "sig"
    },
    {
      "crv": "P-384",
      "x": "cIPV-GMwYobrMFKUHmgzvaliMUtDwO73Ht7X1AQPIpfBDIS7ovnZkt90DzcPn59P",
      "y": "4V2b3W7jRNZqANOc60LacK1pb62GVF5Dyn2Ra4wzbhRLGDVdD_UoazOW56TZ5tsl",
      "kty": "EC",
      "kid": "mIw-fa5LyZnypKpbddViJjWMjl8B5A-I5A31H_igCd8",
      "use": "enc"
    },
    {
      "crv": "P-521",
      "x": "AWyeRdPc35GRFdiu2dYhFgwcSJoUPw38qmUgG0VZSgsbdWWJxUv_iWWIux9hJono6f_qF-lq2At3xdGVBLR7BF5f",
      "y": "AY7WKdsbjyaMZ4Wh8o8Uy5Bju9WxD6N1A7r5_8o5OFIeqD_hej9FxuQDWC4rxU7Ls84yVVtPRG81TaXRoKBxr5XZ",
      "kty": "EC",
      "kid": "w1A1G94s-hK5YrIqWgmV30gtOZ85yQCP3ZMOPTzbc-0",
      "use": "sig"
    },
    {
      "crv": "Ed25519",
      "x": "kAdD9v4ErkCNxQdNMrf4IIplW6YUYBMWkECnLxnZ2tk",
      "kty": "OKP",
      "kid": "ONnNDJq5ZuIAcJyRHpZyZSDcVFf78F1eRhoElXlYEr8",
      "use": "sig"
    },
    {
      "crv": "P-521",
      "x": "AErKX164tyXiv5BwPMyrjoUGyXJ5hX1X7sRgvI0mnbfZhCRnKL67-q5PmTP31OkzA4xQGmAOyBIZvNSJ1p8txIQ3",
      "y": "ALRaE4Q3SLQPNAW_AXIOke34SFwXq2a5FiMHWY9zpJcmCQk9VJH7bG3AnHY_hxu2R-zC5caLy6TPcSzr9Dy4F0DX",
      "kty": "EC",
      "kid": "xKnQ0Rm1_EMwHefKR9UOt0IwCspmyr93L_GDMO_xqq8",
      "use": "enc"
    },
    {
      "crv": "Ed448",
      "x": "sNcFa_zimfHYOSQNS52N-nOX-CYG4dFXoTeuWHnulTj6Fn3heSObBl2NY5ifB9qyP4MHgnAtiboA",
      "kty": "OKP",
      "kid": "MCsSgS9d92FbCGRyBo91MYcXOtXF9qoOeXz65UR5EF8",
      "use": "sig"
    },
    {
      "e": "AQAB",
      "n": "q18zoa2EagO8rzK9svtdY3U2T7DiyZ6F6RUQcpF0AvUK1z4mANLlfhtasJ01BKSP25xLbO8xF72bOd07sQazQUMumKNuU1p8kzYH5yvXNRrFPg-G6r6NWzhT3qx5ov1jkdc2zqa8yj25DfXP6btFFYqfQoPBaFwSXxHLDOXLBfa5wuLnJFL8Yt6qm5aKaOOEJ_X8CfwKH_ajBUD4MhospWZbe9gyt7gKO28sdo8VdNFCq-OG9FWWCwDgS9AYfXOHIHMNvim6sOSsT__6ETkDqUxqYYPgsANARfASBYZs7FiJMv88Hjpa5BH60gbbdYWrCkq1vGh8u1nu0R6WfsxX6w",
      "kty": "RSA",
      "kid": "9dtTMGokAYuDGQjdE6lyhwR_wM0CgihB-BX6lk6-ZO4",
      "use": "sig"
    },
    {
      "e": "AQAB",
      "n": "xU_pU1APQpq581Q760Nd3UwDwKqjN62NPoXyPWxkTD15H2QDYkPMhbzY5J1TizMGGdegbeN--tnhBxMzIRxqcf83UBKvakYYJBr49dvXQSWqdpn8yG6STmO9kpG94vDQP49VBJ8YmXh6A5104_G2qXfQKe33cexKpJPKNedtDhUGUjOLzhYHjRIAGmWBsaLq5Dcbg1UtLEonzEznjKYPDUGhpE7Ao4eVeVEh0ZlFE3aocORW3xkT7uJFPq0pWBCHwD5PDPHtUQczDbbP4xn4Gr8r-vTHrxhv1WYH0NH61-YHqgG_csDat5ef3m0pJbzx7euitxxcr1bDuesB5g4fCQ",
      "kty": "RSA",
      "kid": "OVJpBKI4nfn-A3ZuYX6xkjNc7KhugIIm-y5Douaj6Sg",
      "use": "enc"
    }
  ]
}
2021-03-28 14:26:32 SUCCESS
CheckServerKeysIsValid
Server JWKs is valid
server_jwks
{
  "keys": [
    {
      "crv": "P-256",
      "x": "pus2plcFzciOvQRrAfwm45u2NHw-IhjZe0gk55vO--o",
      "y": "McjUvdFc5nd2YEk9PLYw1HoHkYBBL42jtSoqAe4dCzM",
      "kty": "EC",
      "kid": "atDaXCMyhIUMZISEtmnBRX_C4BT7GoJUD4CMYWGbi_o",
      "use": "sig"
    },
    {
      "crv": "P-256",
      "x": "I8yVbnSd4WJjYH3age2eLK_S9sBtP8djG9y50X13yT0",
      "y": "29Jzh2o85AU1LOzK-SamLLHpXT0O439upvRMvvaeMQA",
      "kty": "EC",
      "kid": "g6MupPz7xKWQ0tKtZLcjBlnA2JAv1VH1NWYtPbsDa2o",
      "use": "enc"
    },
    {
      "crv": "secp256k1",
      "x": "65X_LqUa4XNR3ShA8hLtG-1YDKXEdWHagihJkSspdSQ",
      "y": "Mc8XQxxJnjSJjfcrd7hhlZMyQtHU4gANSFBzr1GsKKA",
      "kty": "EC",
      "kid": "cUJPqrATv3GVASHuCADHyW8p8C4wR5H_nTyaf5adzy0",
      "use": "sig"
    },
    {
      "crv": "P-384",
      "x": "rPUdhjvgdhRCox2456G0CIoKaTwZ8GnbYxwjf42QsT3VtPXi3p1c2RVs8XiDutrI",
      "y": "B_lZyUrqzwwiGHRIf5rGIXwzSgrRCoN2Hv01PPnMMeMzHVExMQCpIlkZrXO9bDKm",
      "kty": "EC",
      "kid": "6JVT-_BVPkvO-MljZhfaMeYC-LmZjlWj0SlzJLRA4yk",
      "use": "sig"
    },
    {
      "crv": "P-384",
      "x": "cIPV-GMwYobrMFKUHmgzvaliMUtDwO73Ht7X1AQPIpfBDIS7ovnZkt90DzcPn59P",
      "y": "4V2b3W7jRNZqANOc60LacK1pb62GVF5Dyn2Ra4wzbhRLGDVdD_UoazOW56TZ5tsl",
      "kty": "EC",
      "kid": "mIw-fa5LyZnypKpbddViJjWMjl8B5A-I5A31H_igCd8",
      "use": "enc"
    },
    {
      "crv": "P-521",
      "x": "AWyeRdPc35GRFdiu2dYhFgwcSJoUPw38qmUgG0VZSgsbdWWJxUv_iWWIux9hJono6f_qF-lq2At3xdGVBLR7BF5f",
      "y": "AY7WKdsbjyaMZ4Wh8o8Uy5Bju9WxD6N1A7r5_8o5OFIeqD_hej9FxuQDWC4rxU7Ls84yVVtPRG81TaXRoKBxr5XZ",
      "kty": "EC",
      "kid": "w1A1G94s-hK5YrIqWgmV30gtOZ85yQCP3ZMOPTzbc-0",
      "use": "sig"
    },
    {
      "crv": "Ed25519",
      "x": "kAdD9v4ErkCNxQdNMrf4IIplW6YUYBMWkECnLxnZ2tk",
      "kty": "OKP",
      "kid": "ONnNDJq5ZuIAcJyRHpZyZSDcVFf78F1eRhoElXlYEr8",
      "use": "sig"
    },
    {
      "crv": "P-521",
      "x": "AErKX164tyXiv5BwPMyrjoUGyXJ5hX1X7sRgvI0mnbfZhCRnKL67-q5PmTP31OkzA4xQGmAOyBIZvNSJ1p8txIQ3",
      "y": "ALRaE4Q3SLQPNAW_AXIOke34SFwXq2a5FiMHWY9zpJcmCQk9VJH7bG3AnHY_hxu2R-zC5caLy6TPcSzr9Dy4F0DX",
      "kty": "EC",
      "kid": "xKnQ0Rm1_EMwHefKR9UOt0IwCspmyr93L_GDMO_xqq8",
      "use": "enc"
    },
    {
      "crv": "Ed448",
      "x": "sNcFa_zimfHYOSQNS52N-nOX-CYG4dFXoTeuWHnulTj6Fn3heSObBl2NY5ifB9qyP4MHgnAtiboA",
      "kty": "OKP",
      "kid": "MCsSgS9d92FbCGRyBo91MYcXOtXF9qoOeXz65UR5EF8",
      "use": "sig"
    },
    {
      "e": "AQAB",
      "n": "q18zoa2EagO8rzK9svtdY3U2T7DiyZ6F6RUQcpF0AvUK1z4mANLlfhtasJ01BKSP25xLbO8xF72bOd07sQazQUMumKNuU1p8kzYH5yvXNRrFPg-G6r6NWzhT3qx5ov1jkdc2zqa8yj25DfXP6btFFYqfQoPBaFwSXxHLDOXLBfa5wuLnJFL8Yt6qm5aKaOOEJ_X8CfwKH_ajBUD4MhospWZbe9gyt7gKO28sdo8VdNFCq-OG9FWWCwDgS9AYfXOHIHMNvim6sOSsT__6ETkDqUxqYYPgsANARfASBYZs7FiJMv88Hjpa5BH60gbbdYWrCkq1vGh8u1nu0R6WfsxX6w",
      "kty": "RSA",
      "kid": "9dtTMGokAYuDGQjdE6lyhwR_wM0CgihB-BX6lk6-ZO4",
      "use": "sig"
    },
    {
      "e": "AQAB",
      "n": "xU_pU1APQpq581Q760Nd3UwDwKqjN62NPoXyPWxkTD15H2QDYkPMhbzY5J1TizMGGdegbeN--tnhBxMzIRxqcf83UBKvakYYJBr49dvXQSWqdpn8yG6STmO9kpG94vDQP49VBJ8YmXh6A5104_G2qXfQKe33cexKpJPKNedtDhUGUjOLzhYHjRIAGmWBsaLq5Dcbg1UtLEonzEznjKYPDUGhpE7Ao4eVeVEh0ZlFE3aocORW3xkT7uJFPq0pWBCHwD5PDPHtUQczDbbP4xn4Gr8r-vTHrxhv1WYH0NH61-YHqgG_csDat5ef3m0pJbzx7euitxxcr1bDuesB5g4fCQ",
      "kty": "RSA",
      "kid": "OVJpBKI4nfn-A3ZuYX6xkjNc7KhugIIm-y5Douaj6Sg",
      "use": "enc"
    }
  ]
}
2021-03-28 14:26:32 SUCCESS
ValidateServerJWKs
Valid server JWKs: keys are valid JSON, contain the required fields and are correctly encoded using unpadded base64url
2021-03-28 14:26:32 SUCCESS
CheckForKeyIdInServerJWKs
All keys contain kids
2021-03-28 14:26:32 SUCCESS
CheckDistinctKeyIdValueInServerJWKs
Distinct 'kid' value in all keys of server_jwks
see
https://bitbucket.org/openid/connect/issues/1127
2021-03-28 14:26:32 SUCCESS
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
2021-03-28 14:26:32 SUCCESS
GetDynamicClientConfiguration
Created dynamic_client_registration_template object from the client configuration.
client_name
first-openid-client
2021-03-28 14:26:32 SUCCESS
GenerateRS256ClientJWKs
Generated client JWKs
client_jwks
{
  "keys": [
    {
      "p": "5ZbnwT6O8XvVXktVzEEj8rj4a77fZW6R6m7L80SZzoNZj3Dv0H3l_s4cJXtwh7fX0r2JQD1No5zHsBTqMjNyXMUE8iqH7kLJT2xnt3BKy9Z8MLwABHiKX108XQy2EJwHRjv2ooBUn_4ueknCxP1WncyD9irFC0CcSM4IAUu5IVE",
      "kty": "RSA",
      "q": "1UcEawA1snuvQA2T4MabfAK66Fq4sCHi87GxT2zNENcHgjaxa69et2RNeouwZ2Y_EtsGllR4aggX51Fy_pEyR3vrRNijznxEo0AGF7zErRCgoYRMI4t9Wm8qzp6I5kmouINpjPQpd-Q8Z-7Xu47gf6J1KIISE9B9uxWDHW01WkU",
      "d": "OSSIgNhuMGqOQQMVfSBTjxjI42JixcDItnqQDS_cavM2_CgwqjEkTaORsePUh3NWmP69er_AOn1cfOiEip1ZSBrOjGP2vEaMmYuPJZa1t3II5d5J0DxB8okh3c6Z5ArDVTO-hRORJWfP0umFZpPMbACVyo1scqX5bwwo5MKz3FvA3h7Srh6NZb_OHb2M-q-87Fpv_eCKXWTosWbv8-WtbhCKmfIMLmTd35pXP997NuRq2CtXKZo5FINknTPI6o6iIspHncrivY1ptWMFviA1ny2pUS3QcHbUyjdYU-FEMvp4krMEFz72sAqZOUXuzo5dc7BnOztuzPEIQf_nz3vBwQ",
      "e": "AQAB",
      "use": "sig",
      "qi": "E7YM1ij0Yc9fkt88ZI3GmKp9RuRDjS3AqR86WlOCGNo3S6Eh1WYO354yjMSk_Ol0LP-7nkDli3HtrKJy6zUyPpig71R7jCbDF6wFyE8O7W8WvAigWeZ4rBXsDaEfsqH2xQQNS763zTrwZK8SCgJN6poCwQu5z4j8gHKmUHTAnH0",
      "dp": "fSYBNqlvKdsit7_BCRIJEmoZoEHvbE8VYwD6U6T1YkjfLP2W-8Nk97xKQ3RCJvjjwJBonIfOJn1zrFv6PVsl38PVqlvctNfa_FxPPQMNAofsMnSIXeeHJeyg1ufy5qLmpDZTfskNWBkqJKbIcLDX4jR1Sl6OAlA54MXOP0aTp8E",
      "alg": "RS256",
      "dq": "jMSq7dTdnEh2i1hq2lk8FsXWh7YZYGd9XEtUNJAjaZIDqrZetCyz32ecm93HOPgLeW6HEoH-WD2vSUZBGDTNctEfn_k9ZPQweW-wlcpKJdBrtS-U8YEH48CsCGQrB5RmgCJ8cERXeoJyPEcwrOLI2nVnzqzLMbjSw8CXIb0LEeE",
      "n": "v0Y_pGGHU6A4N8Uxs6NiTh2uOs2Lcv2qZl6ejAjcHnyUeWEy7tsYV90oq4PDvWtPH2KN4sDzcBava71wmwtwgVdj7GuE8GRTG3_Rx-54WLL6cRcS2SeHYNYSrwf8Kg753gS6xwGVw2wBIkmrglYnF6PehCDHlNCTw3TTkb6NsncwDv1nRBsZx1ak7mkhLkAqjAvGHsCvnacrU8Cg9pdVZJPV8lL0jnUN6Wc-VR5wFV0Kw3AfOk4s50noZUi0AjwTMIIZwD7LfOH6tlLI0snUjVrUnZ39PLpZkLq6esVQQa42BNAbS-UIo4eFm4hk3FsLuvbouNNvP8B6hVao4WF01Q"
    }
  ]
}
public_client_jwks
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "alg": "RS256",
      "n": "v0Y_pGGHU6A4N8Uxs6NiTh2uOs2Lcv2qZl6ejAjcHnyUeWEy7tsYV90oq4PDvWtPH2KN4sDzcBava71wmwtwgVdj7GuE8GRTG3_Rx-54WLL6cRcS2SeHYNYSrwf8Kg753gS6xwGVw2wBIkmrglYnF6PehCDHlNCTw3TTkb6NsncwDv1nRBsZx1ak7mkhLkAqjAvGHsCvnacrU8Cg9pdVZJPV8lL0jnUN6Wc-VR5wFV0Kw3AfOk4s50noZUi0AjwTMIIZwD7LfOH6tlLI0snUjVrUnZ39PLpZkLq6esVQQa42BNAbS-UIo4eFm4hk3FsLuvbouNNvP8B6hVao4WF01Q"
    }
  ]
}
2021-03-28 14:26:32 SUCCESS
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
see
https://bitbucket.org/openid/connect/issues/1127
2021-03-28 14:26:32 SUCCESS
CreateDynamicRegistrationRequest
Created dynamic registration request
client_name
first-openid-client bf8nOpmC6HRyIeD
2021-03-28 14:26:32
AddAuthorizationCodeGrantTypeToDynamicRegistrationRequest
Added 'authorization_code' to 'grant_types'
grant_types
[
  "authorization_code"
]
2021-03-28 14:26:32
AddImplicitGrantTypeToDynamicRegistrationRequest
Added 'implicit' to 'grant_types'
grant_types
[
  "authorization_code",
  "implicit"
]
2021-03-28 14:26:32
AddPublicJwksToDynamicRegistrationRequest
Added client public JWKS to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client bf8nOpmC6HRyIeD",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "v0Y_pGGHU6A4N8Uxs6NiTh2uOs2Lcv2qZl6ejAjcHnyUeWEy7tsYV90oq4PDvWtPH2KN4sDzcBava71wmwtwgVdj7GuE8GRTG3_Rx-54WLL6cRcS2SeHYNYSrwf8Kg753gS6xwGVw2wBIkmrglYnF6PehCDHlNCTw3TTkb6NsncwDv1nRBsZx1ak7mkhLkAqjAvGHsCvnacrU8Cg9pdVZJPV8lL0jnUN6Wc-VR5wFV0Kw3AfOk4s50noZUi0AjwTMIIZwD7LfOH6tlLI0snUjVrUnZ39PLpZkLq6esVQQa42BNAbS-UIo4eFm4hk3FsLuvbouNNvP8B6hVao4WF01Q"
      }
    ]
  }
}
2021-03-28 14:26:32
AddTokenEndpointAuthMethodToDynamicRegistrationRequestFromEnvironment
Added token endpoint auth method to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client bf8nOpmC6HRyIeD",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "v0Y_pGGHU6A4N8Uxs6NiTh2uOs2Lcv2qZl6ejAjcHnyUeWEy7tsYV90oq4PDvWtPH2KN4sDzcBava71wmwtwgVdj7GuE8GRTG3_Rx-54WLL6cRcS2SeHYNYSrwf8Kg753gS6xwGVw2wBIkmrglYnF6PehCDHlNCTw3TTkb6NsncwDv1nRBsZx1ak7mkhLkAqjAvGHsCvnacrU8Cg9pdVZJPV8lL0jnUN6Wc-VR5wFV0Kw3AfOk4s50noZUi0AjwTMIIZwD7LfOH6tlLI0snUjVrUnZ39PLpZkLq6esVQQa42BNAbS-UIo4eFm4hk3FsLuvbouNNvP8B6hVao4WF01Q"
      }
    ]
  },
  "token_endpoint_auth_method": "client_secret_basic"
}
2021-03-28 14:26:32
AddResponseTypesArrayToDynamicRegistrationRequestFromEnvironment
Added response_types array to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client bf8nOpmC6HRyIeD",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "v0Y_pGGHU6A4N8Uxs6NiTh2uOs2Lcv2qZl6ejAjcHnyUeWEy7tsYV90oq4PDvWtPH2KN4sDzcBava71wmwtwgVdj7GuE8GRTG3_Rx-54WLL6cRcS2SeHYNYSrwf8Kg753gS6xwGVw2wBIkmrglYnF6PehCDHlNCTw3TTkb6NsncwDv1nRBsZx1ak7mkhLkAqjAvGHsCvnacrU8Cg9pdVZJPV8lL0jnUN6Wc-VR5wFV0Kw3AfOk4s50noZUi0AjwTMIIZwD7LfOH6tlLI0snUjVrUnZ39PLpZkLq6esVQQa42BNAbS-UIo4eFm4hk3FsLuvbouNNvP8B6hVao4WF01Q"
      }
    ]
  },
  "token_endpoint_auth_method": "client_secret_basic",
  "response_types": [
    "code id_token"
  ]
}
2021-03-28 14:26:32
AddRedirectUriToDynamicRegistrationRequest
Added redirect_uris array to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client bf8nOpmC6HRyIeD",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "v0Y_pGGHU6A4N8Uxs6NiTh2uOs2Lcv2qZl6ejAjcHnyUeWEy7tsYV90oq4PDvWtPH2KN4sDzcBava71wmwtwgVdj7GuE8GRTG3_Rx-54WLL6cRcS2SeHYNYSrwf8Kg753gS6xwGVw2wBIkmrglYnF6PehCDHlNCTw3TTkb6NsncwDv1nRBsZx1ak7mkhLkAqjAvGHsCvnacrU8Cg9pdVZJPV8lL0jnUN6Wc-VR5wFV0Kw3AfOk4s50noZUi0AjwTMIIZwD7LfOH6tlLI0snUjVrUnZ39PLpZkLq6esVQQa42BNAbS-UIo4eFm4hk3FsLuvbouNNvP8B6hVao4WF01Q"
      }
    ]
  },
  "token_endpoint_auth_method": "client_secret_basic",
  "response_types": [
    "code id_token"
  ],
  "redirect_uris": [
    "https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"
  ]
}
2021-03-28 14:26:32
AddContactsToDynamicRegistrationRequest
Added contacts array to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client bf8nOpmC6HRyIeD",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "v0Y_pGGHU6A4N8Uxs6NiTh2uOs2Lcv2qZl6ejAjcHnyUeWEy7tsYV90oq4PDvWtPH2KN4sDzcBava71wmwtwgVdj7GuE8GRTG3_Rx-54WLL6cRcS2SeHYNYSrwf8Kg753gS6xwGVw2wBIkmrglYnF6PehCDHlNCTw3TTkb6NsncwDv1nRBsZx1ak7mkhLkAqjAvGHsCvnacrU8Cg9pdVZJPV8lL0jnUN6Wc-VR5wFV0Kw3AfOk4s50noZUi0AjwTMIIZwD7LfOH6tlLI0snUjVrUnZ39PLpZkLq6esVQQa42BNAbS-UIo4eFm4hk3FsLuvbouNNvP8B6hVao4WF01Q"
      }
    ]
  },
  "token_endpoint_auth_method": "client_secret_basic",
  "response_types": [
    "code id_token"
  ],
  "redirect_uris": [
    "https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"
  ],
  "contacts": [
    "certification@oidf.org"
  ]
}
2021-03-28 14:26:32
AddRefreshTokenGrantTypeToDynamicRegistrationRequest
Added 'refresh_token' to 'grant_types'
grant_types
[
  "authorization_code",
  "implicit",
  "refresh_token"
]
2021-03-28 14:26:32
CallDynamicRegistrationEndpoint
HTTP request
request_uri
https://certification.plusauth.com/oauth/reg
request_method
POST
request_headers
{
  "accept": "application/json",
  "accept-charset": "utf-8",
  "content-type": "application/json",
  "content-length": "771"
}
request_body
{"client_name":"first-openid-client bf8nOpmC6HRyIeD","grant_types":["authorization_code","implicit","refresh_token"],"jwks":{"keys":[{"kty":"RSA","e":"AQAB","use":"sig","alg":"RS256","n":"v0Y_pGGHU6A4N8Uxs6NiTh2uOs2Lcv2qZl6ejAjcHnyUeWEy7tsYV90oq4PDvWtPH2KN4sDzcBava71wmwtwgVdj7GuE8GRTG3_Rx-54WLL6cRcS2SeHYNYSrwf8Kg753gS6xwGVw2wBIkmrglYnF6PehCDHlNCTw3TTkb6NsncwDv1nRBsZx1ak7mkhLkAqjAvGHsCvnacrU8Cg9pdVZJPV8lL0jnUN6Wc-VR5wFV0Kw3AfOk4s50noZUi0AjwTMIIZwD7LfOH6tlLI0snUjVrUnZ39PLpZkLq6esVQQa42BNAbS-UIo4eFm4hk3FsLuvbouNNvP8B6hVao4WF01Q"}]},"token_endpoint_auth_method":"client_secret_basic","response_types":["code id_token"],"redirect_uris":["https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"],"contacts":["certification@oidf.org"]}
2021-03-28 14:26:32 RESPONSE
CallDynamicRegistrationEndpoint
HTTP response
response_status_code
201 CREATED
response_status_text
Created
response_headers
{
  "vary": "Origin",
  "pragma": "no-cache",
  "cache-control": "no-cache, no-store",
  "content-type": "application/json; charset\u003dutf-8",
  "content-length": "1778",
  "date": "Sun, 28 Mar 2021 14:26:32 GMT",
  "x-envoy-upstream-service-time": "13",
  "server": "istio-envoy"
}
response_body
{"application_type":"web","grant_types":["authorization_code","implicit","refresh_token"],"id_token_signed_response_alg":"RS256","oidc_conformant":true,"post_logout_redirect_uris":[],"require_auth_time":false,"response_types":["code id_token"],"subject_type":"public","token_endpoint_auth_method":"client_secret_basic","introspection_endpoint_auth_method":"client_secret_basic","introspection_signed_response_alg":"RS256","revocation_endpoint_auth_method":"client_secret_basic","backchannel_logout_session_required":false,"frontchannel_logout_session_required":false,"require_signed_request_object":false,"request_uris":[],"require_pushed_authorization_requests":false,"authorization_signed_response_alg":"RS256","web_message_uris":[],"tls_client_certificate_bound_access_tokens":false,"client_id_issued_at":1616941592,"client_id":"hUkBdRQiGEOE_5Pb7fvGp","client_name":"first-openid-client bf8nOpmC6HRyIeD","client_secret_expires_at":0,"client_secret":"qIksjTV3jUHJSL7DYFqKEFDuTTxWRgttOKolQXhZtou9WBHkzsUHxPz30eNrKB9ZrmzAhkZwQ6mrKMGv-IoLJw","contacts":["certification@oidf.org"],"jwks":{"keys":[{"kty":"RSA","e":"AQAB","use":"sig","alg":"RS256","n":"v0Y_pGGHU6A4N8Uxs6NiTh2uOs2Lcv2qZl6ejAjcHnyUeWEy7tsYV90oq4PDvWtPH2KN4sDzcBava71wmwtwgVdj7GuE8GRTG3_Rx-54WLL6cRcS2SeHYNYSrwf8Kg753gS6xwGVw2wBIkmrglYnF6PehCDHlNCTw3TTkb6NsncwDv1nRBsZx1ak7mkhLkAqjAvGHsCvnacrU8Cg9pdVZJPV8lL0jnUN6Wc-VR5wFV0Kw3AfOk4s50noZUi0AjwTMIIZwD7LfOH6tlLI0snUjVrUnZ39PLpZkLq6esVQQa42BNAbS-UIo4eFm4hk3FsLuvbouNNvP8B6hVao4WF01Q"}]},"redirect_uris":["https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"],"registration_client_uri":"https://certification.plusauth.com/oauth/reg/hUkBdRQiGEOE_5Pb7fvGp","registration_access_token":"hRU8hk8CgiY7_n0SS6QgL79jdJYYyiY78NTX4tKrSc4"}
2021-03-28 14:26:32
CallDynamicRegistrationEndpoint
Registration endpoint response
dynamic_registration_response
{"application_type":"web","grant_types":["authorization_code","implicit","refresh_token"],"id_token_signed_response_alg":"RS256","oidc_conformant":true,"post_logout_redirect_uris":[],"require_auth_time":false,"response_types":["code id_token"],"subject_type":"public","token_endpoint_auth_method":"client_secret_basic","introspection_endpoint_auth_method":"client_secret_basic","introspection_signed_response_alg":"RS256","revocation_endpoint_auth_method":"client_secret_basic","backchannel_logout_session_required":false,"frontchannel_logout_session_required":false,"require_signed_request_object":false,"request_uris":[],"require_pushed_authorization_requests":false,"authorization_signed_response_alg":"RS256","web_message_uris":[],"tls_client_certificate_bound_access_tokens":false,"client_id_issued_at":1616941592,"client_id":"hUkBdRQiGEOE_5Pb7fvGp","client_name":"first-openid-client bf8nOpmC6HRyIeD","client_secret_expires_at":0,"client_secret":"qIksjTV3jUHJSL7DYFqKEFDuTTxWRgttOKolQXhZtou9WBHkzsUHxPz30eNrKB9ZrmzAhkZwQ6mrKMGv-IoLJw","contacts":["certification@oidf.org"],"jwks":{"keys":[{"kty":"RSA","e":"AQAB","use":"sig","alg":"RS256","n":"v0Y_pGGHU6A4N8Uxs6NiTh2uOs2Lcv2qZl6ejAjcHnyUeWEy7tsYV90oq4PDvWtPH2KN4sDzcBava71wmwtwgVdj7GuE8GRTG3_Rx-54WLL6cRcS2SeHYNYSrwf8Kg753gS6xwGVw2wBIkmrglYnF6PehCDHlNCTw3TTkb6NsncwDv1nRBsZx1ak7mkhLkAqjAvGHsCvnacrU8Cg9pdVZJPV8lL0jnUN6Wc-VR5wFV0Kw3AfOk4s50noZUi0AjwTMIIZwD7LfOH6tlLI0snUjVrUnZ39PLpZkLq6esVQQa42BNAbS-UIo4eFm4hk3FsLuvbouNNvP8B6hVao4WF01Q"}]},"redirect_uris":["https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"],"registration_client_uri":"https://certification.plusauth.com/oauth/reg/hUkBdRQiGEOE_5Pb7fvGp","registration_access_token":"hRU8hk8CgiY7_n0SS6QgL79jdJYYyiY78NTX4tKrSc4"}
2021-03-28 14:26:32
CallDynamicRegistrationEndpoint
Parsed registration endpoint response
application_type
web
grant_types
[
  "authorization_code",
  "implicit",
  "refresh_token"
]
id_token_signed_response_alg
RS256
oidc_conformant
true
post_logout_redirect_uris
[]
require_auth_time
false
response_types
[
  "code id_token"
]
subject_type
public
token_endpoint_auth_method
client_secret_basic
introspection_endpoint_auth_method
client_secret_basic
introspection_signed_response_alg
RS256
revocation_endpoint_auth_method
client_secret_basic
backchannel_logout_session_required
false
frontchannel_logout_session_required
false
require_signed_request_object
false
request_uris
[]
require_pushed_authorization_requests
false
authorization_signed_response_alg
RS256
web_message_uris
[]
tls_client_certificate_bound_access_tokens
false
client_id_issued_at
1616941592
client_id
hUkBdRQiGEOE_5Pb7fvGp
client_name
first-openid-client bf8nOpmC6HRyIeD
client_secret_expires_at
0
client_secret
qIksjTV3jUHJSL7DYFqKEFDuTTxWRgttOKolQXhZtou9WBHkzsUHxPz30eNrKB9ZrmzAhkZwQ6mrKMGv-IoLJw
contacts
[
  "certification@oidf.org"
]
jwks
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "alg": "RS256",
      "n": "v0Y_pGGHU6A4N8Uxs6NiTh2uOs2Lcv2qZl6ejAjcHnyUeWEy7tsYV90oq4PDvWtPH2KN4sDzcBava71wmwtwgVdj7GuE8GRTG3_Rx-54WLL6cRcS2SeHYNYSrwf8Kg753gS6xwGVw2wBIkmrglYnF6PehCDHlNCTw3TTkb6NsncwDv1nRBsZx1ak7mkhLkAqjAvGHsCvnacrU8Cg9pdVZJPV8lL0jnUN6Wc-VR5wFV0Kw3AfOk4s50noZUi0AjwTMIIZwD7LfOH6tlLI0snUjVrUnZ39PLpZkLq6esVQQa42BNAbS-UIo4eFm4hk3FsLuvbouNNvP8B6hVao4WF01Q"
    }
  ]
}
redirect_uris
[
  "https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"
]
registration_client_uri
https://certification.plusauth.com/oauth/reg/hUkBdRQiGEOE_5Pb7fvGp
registration_access_token
hRU8hk8CgiY7_n0SS6QgL79jdJYYyiY78NTX4tKrSc4
2021-03-28 14:26:32 SUCCESS
CallDynamicRegistrationEndpoint
Extracted dynamic registration management credentials
registration_client_uri
https://certification.plusauth.com/oauth/reg/hUkBdRQiGEOE_5Pb7fvGp
registration_access_token
hRU8hk8CgiY7_n0SS6QgL79jdJYYyiY78NTX4tKrSc4
2021-03-28 14:26:32
SetScopeInClientConfigurationToOpenId
Set scope in client configuration to "openid"
scope
openid
2021-03-28 14:26:32
SetScopeInClientConfigurationToOpenIdOfflineAccessIfServerSupportsOfflineAccess
Set scope in client configuration to "openid offline_access"as 'scope_supported' contains 'offline_access'
scope
openid offline_access
2021-03-28 14:26:32 SUCCESS
EnsureServerConfigurationSupportsClientSecretBasic
Contents of 'token_endpoint_auth_methods_supported' in discovery document matches expectations.
actual
[
  "none",
  "client_secret_basic",
  "client_secret_jwt",
  "client_secret_post",
  "private_key_jwt",
  "tls_client_auth",
  "self_signed_tls_client_auth"
]
expected
[
  "client_secret_basic"
]
minimum_matches_required
1
2021-03-28 14:26:32 SUCCESS
GetDynamicClient2Configuration
Found a dynamic_client_registration_template object
client_name
second-openid-client
2021-03-28 14:26:33 SUCCESS
GenerateRS256ClientJWKs
Generated client JWKs
client_jwks
{
  "keys": [
    {
      "p": "v7C2OmzhhkkbXerut0lExT0rlUhQwnE2WhcGCK1RYUE_1s9OD9IxZljDWil1-lBeq8JOS9kF2S-PasCzjQ3cWQ34xjPSKLdqs1XFj_C-x90fmjmEEgt34KesCGLf7H18gcjuTXI8_Aut_HDu6Thuo-JpTpUMzDWO7u__BoV4Rks",
      "kty": "RSA",
      "q": "uo0AIrZ2WksRylqsUrt5ylyAF5R2V0VuwpIyoo96roN2OPL5NdafW2q5IptDVW5Q6zKeApWSyv0Cc_tkL-P15V3E6AYn6Q6whF2Ded4hO7ZJFpPHLYDeVfPIY2_m_ngyQVgkeD4cyL-ygb_iwxrNIrSKieigR6GEHcrdM3hxHH8",
      "d": "XPf3opuMC_5o7yHuvC-yNgHnnNLoJHVAu8WdYUFupe2S5G-VY2CoF3V-OW9kX1ukzi3RXCoP47ccdaBkhKitp60i2qF4TUuVJDxZVwF_yA424n49M8iXv_Q7aet0Csfw_w3F278tuq6HLkknOfSmSTSkxyMmZWhVZRwvn2oaCChmH3bjSwbH1eOm5IpiNsJMtaqCVLEJ0LpdBjA3AIIIbZw4ChiKgNIM5cOhmRB80jBItDjWr-cVHN7HWlTaMJu1f7OzL8gAmrqN5mSULrXKbSkbtMxzHMu_BtsLvOQaYvIoFnoHbI8GgGElD_DGl_g27sDHFFg56VXs1EdMH6pBWQ",
      "e": "AQAB",
      "use": "sig",
      "qi": "OWexeV6b9yqrodJX36QkX7nEb-eUZaPzoJ3JLQBo2jX7CsqC1Z3pBAF0wv8GZLIz7p52kG6PRP3wTVRMdVXQEqD8ON2AN2vOAMNnlhQgkHCf8KRLagwvEQo2qbr_hKesCDu0-cjc6T6CvbbncIDof8KUAJtQ60Yda0Mivw5CCSo",
      "dp": "PL0joLOraj9z-nhcl5sRvWW6j5zQaiwxSq6M7ObuKGDid5BMbdruaD2r-L-2cFBTDx2MbaAgqEbXrL3Opt1DerxgnX0CFIC5wIVnCksASJgaUWX0ITudCoRWkHmz9l10vDMMv2F5TWvt_1VRfnixJiCxuYKlAXffCHrnVguopq0",
      "alg": "RS256",
      "dq": "GWY3PYKwTIzqCC4eRklmRKohepRpJGq8sNss77svTfFyOEDEs5LcMZsvR8nx-gDCHbPPlbR9vwuBuP7iXi7gfPEubRThfDbWy77bts0Ko1GnU96dANIJ85P0la1Xuw_sb78rf_-c9aw8BrR0kHHmujHwpuQ4ZmhUT6YeRfLBG8s",
      "n": "i6_41M9iSChomNlhW6GpbbHhKvcSpfzEaSpMvPqul2DJcMi8NJNz_I7pX8IyZZVGzeGYXNiqVTDGB2xwY24hXLysIPCCzdd4Zf2pXiVYFNXdeFvur6l8dtCP2npTBrPUO9uj4w87szWwp2_K3gpaxW51AX2GvzWB_ILi0_rX-VpKeiufM1fM1sa-1wDcgRRFS_ts0E7YRW4s5fZjzXc2C3kpTaB5ifJxrxya_KI-wHcBM-txbZvgEwDST3fLoENdvzIDF1UaHMDZKnR_LMf1CaVV7HXAgx2TOcryjgxqd4ve0tCgYFhgyufC8rj9nfbOk84SJ-mE9ZTLOEXQjXYTNQ"
    }
  ]
}
public_client_jwks
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "alg": "RS256",
      "n": "i6_41M9iSChomNlhW6GpbbHhKvcSpfzEaSpMvPqul2DJcMi8NJNz_I7pX8IyZZVGzeGYXNiqVTDGB2xwY24hXLysIPCCzdd4Zf2pXiVYFNXdeFvur6l8dtCP2npTBrPUO9uj4w87szWwp2_K3gpaxW51AX2GvzWB_ILi0_rX-VpKeiufM1fM1sa-1wDcgRRFS_ts0E7YRW4s5fZjzXc2C3kpTaB5ifJxrxya_KI-wHcBM-txbZvgEwDST3fLoENdvzIDF1UaHMDZKnR_LMf1CaVV7HXAgx2TOcryjgxqd4ve0tCgYFhgyufC8rj9nfbOk84SJ-mE9ZTLOEXQjXYTNQ"
    }
  ]
}
2021-03-28 14:26:33 SUCCESS
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
see
https://bitbucket.org/openid/connect/issues/1127
2021-03-28 14:26:33 SUCCESS
CreateDynamicRegistrationRequest
Created dynamic registration request
client_name
second-openid-client bf8nOpmC6HRyIeD
2021-03-28 14:26:33
AddAuthorizationCodeGrantTypeToDynamicRegistrationRequest
Added 'authorization_code' to 'grant_types'
grant_types
[
  "authorization_code"
]
2021-03-28 14:26:33
AddImplicitGrantTypeToDynamicRegistrationRequest
Added 'implicit' to 'grant_types'
grant_types
[
  "authorization_code",
  "implicit"
]
2021-03-28 14:26:33
AddPublicJwksToDynamicRegistrationRequest
Added client public JWKS to dynamic registration request
dynamic_registration_request
{
  "client_name": "second-openid-client bf8nOpmC6HRyIeD",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "i6_41M9iSChomNlhW6GpbbHhKvcSpfzEaSpMvPqul2DJcMi8NJNz_I7pX8IyZZVGzeGYXNiqVTDGB2xwY24hXLysIPCCzdd4Zf2pXiVYFNXdeFvur6l8dtCP2npTBrPUO9uj4w87szWwp2_K3gpaxW51AX2GvzWB_ILi0_rX-VpKeiufM1fM1sa-1wDcgRRFS_ts0E7YRW4s5fZjzXc2C3kpTaB5ifJxrxya_KI-wHcBM-txbZvgEwDST3fLoENdvzIDF1UaHMDZKnR_LMf1CaVV7HXAgx2TOcryjgxqd4ve0tCgYFhgyufC8rj9nfbOk84SJ-mE9ZTLOEXQjXYTNQ"
      }
    ]
  }
}
2021-03-28 14:26:33
AddTokenEndpointAuthMethodToDynamicRegistrationRequestFromEnvironment
Added token endpoint auth method to dynamic registration request
dynamic_registration_request
{
  "client_name": "second-openid-client bf8nOpmC6HRyIeD",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "i6_41M9iSChomNlhW6GpbbHhKvcSpfzEaSpMvPqul2DJcMi8NJNz_I7pX8IyZZVGzeGYXNiqVTDGB2xwY24hXLysIPCCzdd4Zf2pXiVYFNXdeFvur6l8dtCP2npTBrPUO9uj4w87szWwp2_K3gpaxW51AX2GvzWB_ILi0_rX-VpKeiufM1fM1sa-1wDcgRRFS_ts0E7YRW4s5fZjzXc2C3kpTaB5ifJxrxya_KI-wHcBM-txbZvgEwDST3fLoENdvzIDF1UaHMDZKnR_LMf1CaVV7HXAgx2TOcryjgxqd4ve0tCgYFhgyufC8rj9nfbOk84SJ-mE9ZTLOEXQjXYTNQ"
      }
    ]
  },
  "token_endpoint_auth_method": "client_secret_basic"
}
2021-03-28 14:26:33
AddResponseTypesArrayToDynamicRegistrationRequestFromEnvironment
Added response_types array to dynamic registration request
dynamic_registration_request
{
  "client_name": "second-openid-client bf8nOpmC6HRyIeD",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "i6_41M9iSChomNlhW6GpbbHhKvcSpfzEaSpMvPqul2DJcMi8NJNz_I7pX8IyZZVGzeGYXNiqVTDGB2xwY24hXLysIPCCzdd4Zf2pXiVYFNXdeFvur6l8dtCP2npTBrPUO9uj4w87szWwp2_K3gpaxW51AX2GvzWB_ILi0_rX-VpKeiufM1fM1sa-1wDcgRRFS_ts0E7YRW4s5fZjzXc2C3kpTaB5ifJxrxya_KI-wHcBM-txbZvgEwDST3fLoENdvzIDF1UaHMDZKnR_LMf1CaVV7HXAgx2TOcryjgxqd4ve0tCgYFhgyufC8rj9nfbOk84SJ-mE9ZTLOEXQjXYTNQ"
      }
    ]
  },
  "token_endpoint_auth_method": "client_secret_basic",
  "response_types": [
    "code id_token"
  ]
}
2021-03-28 14:26:33
AddRedirectUriToDynamicRegistrationRequest
Added redirect_uris array to dynamic registration request
dynamic_registration_request
{
  "client_name": "second-openid-client bf8nOpmC6HRyIeD",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "i6_41M9iSChomNlhW6GpbbHhKvcSpfzEaSpMvPqul2DJcMi8NJNz_I7pX8IyZZVGzeGYXNiqVTDGB2xwY24hXLysIPCCzdd4Zf2pXiVYFNXdeFvur6l8dtCP2npTBrPUO9uj4w87szWwp2_K3gpaxW51AX2GvzWB_ILi0_rX-VpKeiufM1fM1sa-1wDcgRRFS_ts0E7YRW4s5fZjzXc2C3kpTaB5ifJxrxya_KI-wHcBM-txbZvgEwDST3fLoENdvzIDF1UaHMDZKnR_LMf1CaVV7HXAgx2TOcryjgxqd4ve0tCgYFhgyufC8rj9nfbOk84SJ-mE9ZTLOEXQjXYTNQ"
      }
    ]
  },
  "token_endpoint_auth_method": "client_secret_basic",
  "response_types": [
    "code id_token"
  ],
  "redirect_uris": [
    "https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"
  ]
}
2021-03-28 14:26:33
AddContactsToDynamicRegistrationRequest
Added contacts array to dynamic registration request
dynamic_registration_request
{
  "client_name": "second-openid-client bf8nOpmC6HRyIeD",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "i6_41M9iSChomNlhW6GpbbHhKvcSpfzEaSpMvPqul2DJcMi8NJNz_I7pX8IyZZVGzeGYXNiqVTDGB2xwY24hXLysIPCCzdd4Zf2pXiVYFNXdeFvur6l8dtCP2npTBrPUO9uj4w87szWwp2_K3gpaxW51AX2GvzWB_ILi0_rX-VpKeiufM1fM1sa-1wDcgRRFS_ts0E7YRW4s5fZjzXc2C3kpTaB5ifJxrxya_KI-wHcBM-txbZvgEwDST3fLoENdvzIDF1UaHMDZKnR_LMf1CaVV7HXAgx2TOcryjgxqd4ve0tCgYFhgyufC8rj9nfbOk84SJ-mE9ZTLOEXQjXYTNQ"
      }
    ]
  },
  "token_endpoint_auth_method": "client_secret_basic",
  "response_types": [
    "code id_token"
  ],
  "redirect_uris": [
    "https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"
  ],
  "contacts": [
    "certification@oidf.org"
  ]
}
2021-03-28 14:26:33
AddRefreshTokenGrantTypeToDynamicRegistrationRequest
Added 'refresh_token' to 'grant_types'
grant_types
[
  "authorization_code",
  "implicit",
  "refresh_token"
]
2021-03-28 14:26:33
CallDynamicRegistrationEndpoint
HTTP request
request_uri
https://certification.plusauth.com/oauth/reg
request_method
POST
request_headers
{
  "accept": "application/json",
  "accept-charset": "utf-8",
  "content-type": "application/json",
  "content-length": "772"
}
request_body
{"client_name":"second-openid-client bf8nOpmC6HRyIeD","grant_types":["authorization_code","implicit","refresh_token"],"jwks":{"keys":[{"kty":"RSA","e":"AQAB","use":"sig","alg":"RS256","n":"i6_41M9iSChomNlhW6GpbbHhKvcSpfzEaSpMvPqul2DJcMi8NJNz_I7pX8IyZZVGzeGYXNiqVTDGB2xwY24hXLysIPCCzdd4Zf2pXiVYFNXdeFvur6l8dtCP2npTBrPUO9uj4w87szWwp2_K3gpaxW51AX2GvzWB_ILi0_rX-VpKeiufM1fM1sa-1wDcgRRFS_ts0E7YRW4s5fZjzXc2C3kpTaB5ifJxrxya_KI-wHcBM-txbZvgEwDST3fLoENdvzIDF1UaHMDZKnR_LMf1CaVV7HXAgx2TOcryjgxqd4ve0tCgYFhgyufC8rj9nfbOk84SJ-mE9ZTLOEXQjXYTNQ"}]},"token_endpoint_auth_method":"client_secret_basic","response_types":["code id_token"],"redirect_uris":["https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"],"contacts":["certification@oidf.org"]}
2021-03-28 14:26:34 RESPONSE
CallDynamicRegistrationEndpoint
HTTP response
response_status_code
201 CREATED
response_status_text
Created
response_headers
{
  "vary": "Origin",
  "pragma": "no-cache",
  "cache-control": "no-cache, no-store",
  "content-type": "application/json; charset\u003dutf-8",
  "content-length": "1779",
  "date": "Sun, 28 Mar 2021 14:26:33 GMT",
  "x-envoy-upstream-service-time": "20",
  "server": "istio-envoy"
}
response_body
{"application_type":"web","grant_types":["authorization_code","implicit","refresh_token"],"id_token_signed_response_alg":"RS256","oidc_conformant":true,"post_logout_redirect_uris":[],"require_auth_time":false,"response_types":["code id_token"],"subject_type":"public","token_endpoint_auth_method":"client_secret_basic","introspection_endpoint_auth_method":"client_secret_basic","introspection_signed_response_alg":"RS256","revocation_endpoint_auth_method":"client_secret_basic","backchannel_logout_session_required":false,"frontchannel_logout_session_required":false,"require_signed_request_object":false,"request_uris":[],"require_pushed_authorization_requests":false,"authorization_signed_response_alg":"RS256","web_message_uris":[],"tls_client_certificate_bound_access_tokens":false,"client_id_issued_at":1616941593,"client_id":"8Zpk2YsG2pMPy1ykXvcjy","client_name":"second-openid-client bf8nOpmC6HRyIeD","client_secret_expires_at":0,"client_secret":"Y_a_Yi49SZyOTeu3FeMd_MrJlZOAvbuGX5ybN-6tVMU73oU_RE3erUzfMttmdhcKUWtumxf7DEh3LtMlKsOXBQ","contacts":["certification@oidf.org"],"jwks":{"keys":[{"kty":"RSA","e":"AQAB","use":"sig","alg":"RS256","n":"i6_41M9iSChomNlhW6GpbbHhKvcSpfzEaSpMvPqul2DJcMi8NJNz_I7pX8IyZZVGzeGYXNiqVTDGB2xwY24hXLysIPCCzdd4Zf2pXiVYFNXdeFvur6l8dtCP2npTBrPUO9uj4w87szWwp2_K3gpaxW51AX2GvzWB_ILi0_rX-VpKeiufM1fM1sa-1wDcgRRFS_ts0E7YRW4s5fZjzXc2C3kpTaB5ifJxrxya_KI-wHcBM-txbZvgEwDST3fLoENdvzIDF1UaHMDZKnR_LMf1CaVV7HXAgx2TOcryjgxqd4ve0tCgYFhgyufC8rj9nfbOk84SJ-mE9ZTLOEXQjXYTNQ"}]},"redirect_uris":["https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"],"registration_client_uri":"https://certification.plusauth.com/oauth/reg/8Zpk2YsG2pMPy1ykXvcjy","registration_access_token":"Pg2q37-B6_wWIqNXTQbYaie79iPhHmKX6LFc11PIvA7"}
2021-03-28 14:26:34
CallDynamicRegistrationEndpoint
Registration endpoint response
dynamic_registration_response
{"application_type":"web","grant_types":["authorization_code","implicit","refresh_token"],"id_token_signed_response_alg":"RS256","oidc_conformant":true,"post_logout_redirect_uris":[],"require_auth_time":false,"response_types":["code id_token"],"subject_type":"public","token_endpoint_auth_method":"client_secret_basic","introspection_endpoint_auth_method":"client_secret_basic","introspection_signed_response_alg":"RS256","revocation_endpoint_auth_method":"client_secret_basic","backchannel_logout_session_required":false,"frontchannel_logout_session_required":false,"require_signed_request_object":false,"request_uris":[],"require_pushed_authorization_requests":false,"authorization_signed_response_alg":"RS256","web_message_uris":[],"tls_client_certificate_bound_access_tokens":false,"client_id_issued_at":1616941593,"client_id":"8Zpk2YsG2pMPy1ykXvcjy","client_name":"second-openid-client bf8nOpmC6HRyIeD","client_secret_expires_at":0,"client_secret":"Y_a_Yi49SZyOTeu3FeMd_MrJlZOAvbuGX5ybN-6tVMU73oU_RE3erUzfMttmdhcKUWtumxf7DEh3LtMlKsOXBQ","contacts":["certification@oidf.org"],"jwks":{"keys":[{"kty":"RSA","e":"AQAB","use":"sig","alg":"RS256","n":"i6_41M9iSChomNlhW6GpbbHhKvcSpfzEaSpMvPqul2DJcMi8NJNz_I7pX8IyZZVGzeGYXNiqVTDGB2xwY24hXLysIPCCzdd4Zf2pXiVYFNXdeFvur6l8dtCP2npTBrPUO9uj4w87szWwp2_K3gpaxW51AX2GvzWB_ILi0_rX-VpKeiufM1fM1sa-1wDcgRRFS_ts0E7YRW4s5fZjzXc2C3kpTaB5ifJxrxya_KI-wHcBM-txbZvgEwDST3fLoENdvzIDF1UaHMDZKnR_LMf1CaVV7HXAgx2TOcryjgxqd4ve0tCgYFhgyufC8rj9nfbOk84SJ-mE9ZTLOEXQjXYTNQ"}]},"redirect_uris":["https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"],"registration_client_uri":"https://certification.plusauth.com/oauth/reg/8Zpk2YsG2pMPy1ykXvcjy","registration_access_token":"Pg2q37-B6_wWIqNXTQbYaie79iPhHmKX6LFc11PIvA7"}
2021-03-28 14:26:34
CallDynamicRegistrationEndpoint
Parsed registration endpoint response
application_type
web
grant_types
[
  "authorization_code",
  "implicit",
  "refresh_token"
]
id_token_signed_response_alg
RS256
oidc_conformant
true
post_logout_redirect_uris
[]
require_auth_time
false
response_types
[
  "code id_token"
]
subject_type
public
token_endpoint_auth_method
client_secret_basic
introspection_endpoint_auth_method
client_secret_basic
introspection_signed_response_alg
RS256
revocation_endpoint_auth_method
client_secret_basic
backchannel_logout_session_required
false
frontchannel_logout_session_required
false
require_signed_request_object
false
request_uris
[]
require_pushed_authorization_requests
false
authorization_signed_response_alg
RS256
web_message_uris
[]
tls_client_certificate_bound_access_tokens
false
client_id_issued_at
1616941593
client_id
8Zpk2YsG2pMPy1ykXvcjy
client_name
second-openid-client bf8nOpmC6HRyIeD
client_secret_expires_at
0
client_secret
Y_a_Yi49SZyOTeu3FeMd_MrJlZOAvbuGX5ybN-6tVMU73oU_RE3erUzfMttmdhcKUWtumxf7DEh3LtMlKsOXBQ
contacts
[
  "certification@oidf.org"
]
jwks
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "alg": "RS256",
      "n": "i6_41M9iSChomNlhW6GpbbHhKvcSpfzEaSpMvPqul2DJcMi8NJNz_I7pX8IyZZVGzeGYXNiqVTDGB2xwY24hXLysIPCCzdd4Zf2pXiVYFNXdeFvur6l8dtCP2npTBrPUO9uj4w87szWwp2_K3gpaxW51AX2GvzWB_ILi0_rX-VpKeiufM1fM1sa-1wDcgRRFS_ts0E7YRW4s5fZjzXc2C3kpTaB5ifJxrxya_KI-wHcBM-txbZvgEwDST3fLoENdvzIDF1UaHMDZKnR_LMf1CaVV7HXAgx2TOcryjgxqd4ve0tCgYFhgyufC8rj9nfbOk84SJ-mE9ZTLOEXQjXYTNQ"
    }
  ]
}
redirect_uris
[
  "https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"
]
registration_client_uri
https://certification.plusauth.com/oauth/reg/8Zpk2YsG2pMPy1ykXvcjy
registration_access_token
Pg2q37-B6_wWIqNXTQbYaie79iPhHmKX6LFc11PIvA7
2021-03-28 14:26:34 SUCCESS
CallDynamicRegistrationEndpoint
Extracted dynamic registration management credentials
registration_client_uri
https://certification.plusauth.com/oauth/reg/8Zpk2YsG2pMPy1ykXvcjy
registration_access_token
Pg2q37-B6_wWIqNXTQbYaie79iPhHmKX6LFc11PIvA7
2021-03-28 14:26:34
SetScopeInClientConfigurationToOpenId
Set scope in client configuration to "openid"
scope
openid
2021-03-28 14:26:34
SetScopeInClientConfigurationToOpenIdOfflineAccessIfServerSupportsOfflineAccess
Set scope in client configuration to "openid offline_access"as 'scope_supported' contains 'offline_access'
scope
openid offline_access
2021-03-28 14:26:34 SUCCESS
EnsureServerConfigurationSupportsClientSecretBasic
Contents of 'token_endpoint_auth_methods_supported' in discovery document matches expectations.
actual
[
  "none",
  "client_secret_basic",
  "client_secret_jwt",
  "client_secret_post",
  "private_key_jwt",
  "tls_client_auth",
  "self_signed_tls_client_auth"
]
expected
[
  "client_secret_basic"
]
minimum_matches_required
1
2021-03-28 14:26:34 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.
protected_resource_url
https://certification.plusauth.com/me
2021-03-28 14:26:34
oidcc-refresh-token
Setup Done
Make request to authorization endpoint
2021-03-28 14:26:34 SUCCESS
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
client_id
hUkBdRQiGEOE_5Pb7fvGp
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
scope
openid offline_access
2021-03-28 14:26:34
CreateRandomStateValue
Created state value
requested_state_length
10
state
DCDRqW1WCp
2021-03-28 14:26:34 SUCCESS
AddStateToAuthorizationEndpointRequest
Added state parameter to request
client_id
hUkBdRQiGEOE_5Pb7fvGp
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
scope
openid offline_access
state
DCDRqW1WCp
2021-03-28 14:26:34
CreateRandomNonceValue
Created nonce value
requested_nonce_length
10
nonce
XPq0z00bCy
2021-03-28 14:26:34 SUCCESS
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
client_id
hUkBdRQiGEOE_5Pb7fvGp
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
scope
openid offline_access
state
DCDRqW1WCp
nonce
XPq0z00bCy
2021-03-28 14:26:34 SUCCESS
SetAuthorizationEndpointRequestResponseTypeFromEnvironment
Added response_type parameter to request
client_id
hUkBdRQiGEOE_5Pb7fvGp
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
scope
openid offline_access
state
DCDRqW1WCp
nonce
XPq0z00bCy
response_type
code id_token
2021-03-28 14:26:34
SetAuthorizationEndpointRequestResponseModeToFormPost
Added response_mode parameter to request
client_id
hUkBdRQiGEOE_5Pb7fvGp
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
scope
openid offline_access
state
DCDRqW1WCp
nonce
XPq0z00bCy
response_type
code id_token
response_mode
form_post
2021-03-28 14:26:34 SUCCESS
AddPromptConsentToAuthorizationEndpointRequestIfScopeContainsOfflineAccess
Added prompt=consent to authorization endpoint request
client_id
hUkBdRQiGEOE_5Pb7fvGp
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
scope
openid offline_access
state
DCDRqW1WCp
nonce
XPq0z00bCy
response_type
code id_token
response_mode
form_post
prompt
consent
2021-03-28 14:26:34 SUCCESS
BuildPlainRedirectToAuthorizationEndpoint
Sending to authorization endpoint
redirect_to_authorization_endpoint
https://certification.plusauth.com/oauth/auth?client_id=hUkBdRQiGEOE_5Pb7fvGp&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback&scope=openid%20offline_access&state=DCDRqW1WCp&nonce=XPq0z00bCy&response_type=code%20id_token&response_mode=form_post&prompt=consent
2021-03-28 14:26:34 REDIRECT
oidcc-refresh-token
Redirecting to authorization endpoint
redirect_to
https://certification.plusauth.com/oauth/auth?client_id=hUkBdRQiGEOE_5Pb7fvGp&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback&scope=openid%20offline_access&state=DCDRqW1WCp&nonce=XPq0z00bCy&response_type=code%20id_token&response_mode=form_post&prompt=consent
2021-03-28 14:26:34
WebRunner
Scripted browser HTTP request
browser
goToUrl
request_method
GET
request_uri
https://certification.plusauth.com/oauth/auth?client_id=hUkBdRQiGEOE_5Pb7fvGp&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback&scope=openid%20offline_access&state=DCDRqW1WCp&nonce=XPq0z00bCy&response_type=code%20id_token&response_mode=form_post&prompt=consent
2021-03-28 14:26:34 RESPONSE
WebRunner
Scripted browser HTTP response
response_content
<!DOCTYPE html>
<html lang="en" >
<head><script>var PlusAuth = window.PlusAuth = {"client":{"clientName":"first-openid-client bf8nOpmC6HRyIeD","applicationType":"web","social":[]},"details":{},"params":{"client_id":"hUkBdRQiGEOE_5Pb7fvGp","nonce":"XPq0z00bCy","prompt":"consent","redirect_uri":"https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback","response_mode":"form_post","response_type":"code id_token","scope":"openid offline_access","state":"DCDRqW1WCp"},"prompt":{"name":"login"},"settings":{}} </script>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <title>Sign-in</title>
</head>
<body >
<div class="login-card">
  <h1>Login</h1>
  <form autocomplete="off" action="/signin" method="post">
    <input type="hidden" name="provider" value="google">
    <input required type="text" name="username" placeholder="Username" >
    <input required type="password" name="password" placeholder="Password">
    <button type="submit" class="login login-submit">Sign-in</button>
    <button type="submit" class="google-button">
        <span class="google-button__text">Sign in with Google</span>
    </button>
  </form>
</div>
</body >
</html >
response_content_type
text/html
response_status_text
200-OK
response_status_code
200
2021-03-28 14:26:34 INFO
WebRunner
Entering text
task
Login
browser
text
element_type
name
value
foo
url
https://certification.plusauth.com/signin
target
username
2021-03-28 14:26:34 INFO
WebRunner
Entering text
task
Login
browser
text
element_type
name
value
bar
url
https://certification.plusauth.com/signin
target
password
2021-03-28 14:26:34 INFO
WebRunner
Clicking an element
task
Login
browser
click
element_type
class
url
https://certification.plusauth.com/signin
target
login-submit
2021-03-28 14:26:35 INFO
WebRunner
Completed processing of webpage
task
Login
browser
complete
response_status_text
200-OK
match
https://certification.plusauth.com/signin*
url
https://certification.plusauth.com/signin/consent
response_status_code
200
2021-03-28 14:26:35 INFO
WebRunner
Clicking an element
task
Consent
browser
click
element_type
class
url
https://certification.plusauth.com/signin/consent
target
login-submit
2021-03-28 14:26:35 INCOMING
oidcc-refresh-token
Incoming HTTP request to test instance bf8nOpmC6HRyIeD
incoming_headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36",
  "accept": "text/html,application/xhtml+xml,application/xml;q\u003d0.9,image/avif,image/webp,image/apng,*/*;q\u003d0.8,application/signed-exchange;v\u003db3;q\u003d0.9",
  "sec-fetch-site": "same-origin",
  "sec-fetch-mode": "navigate",
  "sec-fetch-user": "?1",
  "sec-fetch-dest": "document",
  "referer": "https://certification.plusauth.com/oauth/auth/vgIr1QBW2QiPq3IHwg5I7",
  "accept-encoding": "gzip, deflate, br",
  "accept-language": "en-US",
  "origin": "https://certification.plusauth.com",
  "cache-control": "max-age\u003d0",
  "content-type": "application/x-www-form-urlencoded",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "content-length": "878",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net",
  "connection": "close"
}
incoming_path
callback
incoming_body_form_params
{
  "code": "pC-EX7tlSZy2rMBJCNbH_5x7yxOO5c1CxxGiDjrNmO7",
  "id_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6IlhQcTB6MDBiQ3kiLCJjX2hhc2giOiJETmNrUV9Nd1k0cmJMVUhwNm5oUU9RIiwic19oYXNoIjoibFZSVmpQTWNUcVlzX1ZVbnNjU3JNZyIsImF1ZCI6ImhVa0JkUlFpR0VPRV81UGI3ZnZHcCIsImV4cCI6MTYxNjk0NTE5NSwiaWF0IjoxNjE2OTQxNTk1LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.L5-nSozpUw7yCqOLa79STwVjkFWc9G1Q8FyZFTzr9kwlxmbSf5QwOJHl1uboLt1Nd3Aj7UuZnjRFccGElSRc9fc2GcvsvNgMzSGKDFbOVHjNpvtdiD9pcl_OA8EyTo_5mbbgdOrirkHQsCkT-b6sy7NNqMswvmsccCwn95Vy1y44Y88yJGMHyYkBvgYYLfYRRIDmVNGWh2GyovhtdyRn6Rv0DF5kNyKdgl8JsvSSJ9oxPOBsWgBrnRJr9e1-jNZ4QKEyU1hYvrBRqlhqjHsX3aFtJxz49kiDNHOpbuV5AK5xhL-njfIiz_OireCUQrLz3y05znkhXwJxynFzE43rew",
  "state": "DCDRqW1WCp",
  "session_state": "8JhjKWYeYRQkeoYZ-1GtnNOJ57ka3ed01HYxL8BppY0"
}
incoming_method
POST
incoming_body_json
incoming_query_string_params
{}
incoming_body
code=pC-EX7tlSZy2rMBJCNbH_5x7yxOO5c1CxxGiDjrNmO7&id_token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6IlhQcTB6MDBiQ3kiLCJjX2hhc2giOiJETmNrUV9Nd1k0cmJMVUhwNm5oUU9RIiwic19oYXNoIjoibFZSVmpQTWNUcVlzX1ZVbnNjU3JNZyIsImF1ZCI6ImhVa0JkUlFpR0VPRV81UGI3ZnZHcCIsImV4cCI6MTYxNjk0NTE5NSwiaWF0IjoxNjE2OTQxNTk1LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.L5-nSozpUw7yCqOLa79STwVjkFWc9G1Q8FyZFTzr9kwlxmbSf5QwOJHl1uboLt1Nd3Aj7UuZnjRFccGElSRc9fc2GcvsvNgMzSGKDFbOVHjNpvtdiD9pcl_OA8EyTo_5mbbgdOrirkHQsCkT-b6sy7NNqMswvmsccCwn95Vy1y44Y88yJGMHyYkBvgYYLfYRRIDmVNGWh2GyovhtdyRn6Rv0DF5kNyKdgl8JsvSSJ9oxPOBsWgBrnRJr9e1-jNZ4QKEyU1hYvrBRqlhqjHsX3aFtJxz49kiDNHOpbuV5AK5xhL-njfIiz_OireCUQrLz3y05znkhXwJxynFzE43rew&state=DCDRqW1WCp&session_state=8JhjKWYeYRQkeoYZ-1GtnNOJ57ka3ed01HYxL8BppY0
2021-03-28 14:26:35 SUCCESS
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
implicit_submit
{
  "path": "implicit/yLOpTdqHT0EoFfebxC9x",
  "fullUrl": "https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/implicit/yLOpTdqHT0EoFfebxC9x"
}
2021-03-28 14:26:35 OUTGOING
oidcc-refresh-token
Response to HTTP request to test instance bf8nOpmC6HRyIeD
outgoing
ModelAndView [view="implicitCallback"; model={implicitSubmitUrl=https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/implicit/yLOpTdqHT0EoFfebxC9x, returnUrl=/log-detail.html?log=bf8nOpmC6HRyIeD}]
outgoing_path
callback
2021-03-28 14:26:36 INFO
WebRunner
Completed processing of webpage
task
Consent
browser
complete
response_status_text
200-
match
https://certification.plusauth.com/signin/consent*
url
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
response_status_code
200
2021-03-28 14:26:36 INFO
WebRunner
Waiting
regexp
seconds
10
task
Verify Complete
browser
wait
action
element_type
id
url
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
target
submission_complete
2021-03-28 14:26:36 INCOMING
oidcc-refresh-token
Incoming HTTP request to test instance bf8nOpmC6HRyIeD
incoming_headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36",
  "accept": "*/*",
  "sec-fetch-site": "same-origin",
  "sec-fetch-mode": "navigate",
  "sec-fetch-user": "?1",
  "sec-fetch-dest": "document",
  "referer": "https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback",
  "accept-encoding": "gzip, deflate, br",
  "accept-language": "en-US",
  "cookie": "JSESSIONID\u003d3F5E7D889065A061FC04A6EC510C5929",
  "x-requested-with": "XMLHttpRequest",
  "content-type": "text/plain",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "content-length": "0",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net",
  "connection": "close"
}
incoming_path
implicit/yLOpTdqHT0EoFfebxC9x
incoming_body_form_params
incoming_method
POST
incoming_body_json
incoming_query_string_params
{}
incoming_body
2021-03-28 14:26:36 OUTGOING
oidcc-refresh-token
Response to HTTP request to test instance bf8nOpmC6HRyIeD
outgoing_status_code
204
outgoing_headers
{}
outgoing_body

                                
outgoing_path
implicit/yLOpTdqHT0EoFfebxC9x
2021-03-28 14:26:36 SUCCESS
ExtractImplicitHashToCallbackResponse
implicit_hash is empty
2021-03-28 14:26:36 REDIRECT-IN
oidcc-refresh-token
Authorization endpoint response captured
url_query
{}
headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36",
  "accept": "text/html,application/xhtml+xml,application/xml;q\u003d0.9,image/avif,image/webp,image/apng,*/*;q\u003d0.8,application/signed-exchange;v\u003db3;q\u003d0.9",
  "sec-fetch-site": "same-origin",
  "sec-fetch-mode": "navigate",
  "sec-fetch-user": "?1",
  "sec-fetch-dest": "document",
  "referer": "https://certification.plusauth.com/oauth/auth/vgIr1QBW2QiPq3IHwg5I7",
  "accept-encoding": "gzip, deflate, br",
  "accept-language": "en-US",
  "origin": "https://certification.plusauth.com",
  "cache-control": "max-age\u003d0",
  "content-type": "application/x-www-form-urlencoded",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "content-length": "878",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net",
  "connection": "close"
}
http_method
POST
url_fragment
{}
post_body
{
  "code": "pC-EX7tlSZy2rMBJCNbH_5x7yxOO5c1CxxGiDjrNmO7",
  "id_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6IlhQcTB6MDBiQ3kiLCJjX2hhc2giOiJETmNrUV9Nd1k0cmJMVUhwNm5oUU9RIiwic19oYXNoIjoibFZSVmpQTWNUcVlzX1ZVbnNjU3JNZyIsImF1ZCI6ImhVa0JkUlFpR0VPRV81UGI3ZnZHcCIsImV4cCI6MTYxNjk0NTE5NSwiaWF0IjoxNjE2OTQxNTk1LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.L5-nSozpUw7yCqOLa79STwVjkFWc9G1Q8FyZFTzr9kwlxmbSf5QwOJHl1uboLt1Nd3Aj7UuZnjRFccGElSRc9fc2GcvsvNgMzSGKDFbOVHjNpvtdiD9pcl_OA8EyTo_5mbbgdOrirkHQsCkT-b6sy7NNqMswvmsccCwn95Vy1y44Y88yJGMHyYkBvgYYLfYRRIDmVNGWh2GyovhtdyRn6Rv0DF5kNyKdgl8JsvSSJ9oxPOBsWgBrnRJr9e1-jNZ4QKEyU1hYvrBRqlhqjHsX3aFtJxz49kiDNHOpbuV5AK5xhL-njfIiz_OireCUQrLz3y05znkhXwJxynFzE43rew",
  "state": "DCDRqW1WCp",
  "session_state": "8JhjKWYeYRQkeoYZ-1GtnNOJ57ka3ed01HYxL8BppY0"
}
Verify authorization endpoint response
2021-03-28 14:26:36 SUCCESS
CheckCallbackHttpMethodIsPost
HTTP method used at redirect_uri is 'POST'
2021-03-28 14:26:36 SUCCESS
CheckCallbackContentTypeIsFormUrlEncoded
content-type header to redirect_uri has the expected value
content_type
application/x-www-form-urlencoded
expected
application/x-www-form-urlencoded
2021-03-28 14:26:36 SUCCESS
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
2021-03-28 14:26:36 SUCCESS
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
2021-03-28 14:26:36 SUCCESS
CheckMatchingCallbackParameters
Callback parameters successfully verified
2021-03-28 14:26:36
ValidateIssInAuthorizationResponse
No 'iss' value in authorization response.
2021-03-28 14:26:36 SUCCESS
CheckIfAuthorizationEndpointError
No error from authorization endpoint
2021-03-28 14:26:36 SUCCESS
CheckStateInAuthorizationResponse
State in response correctly returned
state
DCDRqW1WCp
2021-03-28 14:26:36 SUCCESS
ExtractAuthorizationCodeFromAuthorizationResponse
Found authorization code
code
pC-EX7tlSZy2rMBJCNbH_5x7yxOO5c1CxxGiDjrNmO7
2021-03-28 14:26:36 SUCCESS
ExtractIdTokenFromAuthorizationResponse
Found and parsed the id_token from authorization_endpoint_response
value
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6IlhQcTB6MDBiQ3kiLCJjX2hhc2giOiJETmNrUV9Nd1k0cmJMVUhwNm5oUU9RIiwic19oYXNoIjoibFZSVmpQTWNUcVlzX1ZVbnNjU3JNZyIsImF1ZCI6ImhVa0JkUlFpR0VPRV81UGI3ZnZHcCIsImV4cCI6MTYxNjk0NTE5NSwiaWF0IjoxNjE2OTQxNTk1LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.L5-nSozpUw7yCqOLa79STwVjkFWc9G1Q8FyZFTzr9kwlxmbSf5QwOJHl1uboLt1Nd3Aj7UuZnjRFccGElSRc9fc2GcvsvNgMzSGKDFbOVHjNpvtdiD9pcl_OA8EyTo_5mbbgdOrirkHQsCkT-b6sy7NNqMswvmsccCwn95Vy1y44Y88yJGMHyYkBvgYYLfYRRIDmVNGWh2GyovhtdyRn6Rv0DF5kNyKdgl8JsvSSJ9oxPOBsWgBrnRJr9e1-jNZ4QKEyU1hYvrBRqlhqjHsX3aFtJxz49kiDNHOpbuV5AK5xhL-njfIiz_OireCUQrLz3y05znkhXwJxynFzE43rew
header
{
  "kid": "9dtTMGokAYuDGQjdE6lyhwR_wM0CgihB-BX6lk6-ZO4",
  "typ": "JWT",
  "alg": "RS256"
}
claims
{
  "sub": "certification_1",
  "c_hash": "DNckQ_MwY4rbLUHp6nhQOQ",
  "aud": "hUkBdRQiGEOE_5Pb7fvGp",
  "s_hash": "lVRVjPMcTqYs_VUnscSrMg",
  "iss": "https://certification.plusauth.com",
  "exp": 1616945195,
  "nonce": "XPq0z00bCy",
  "iat": 1616941595
}
2021-03-28 14:26:36 SUCCESS
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
2021-03-28 14:26:36 SUCCESS
ValidateIdTokenNonce
Nonce values match
nonce
XPq0z00bCy
2021-03-28 14:26:36 SUCCESS
ValidateIdTokenACRClaimAgainstRequest
Nothing to check; the conformance suite did not request an acr claim in request object
2021-03-28 14:26:36 SUCCESS
ValidateIdTokenSignature
id_token signature validated
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6IlhQcTB6MDBiQ3kiLCJjX2hhc2giOiJETmNrUV9Nd1k0cmJMVUhwNm5oUU9RIiwic19oYXNoIjoibFZSVmpQTWNUcVlzX1ZVbnNjU3JNZyIsImF1ZCI6ImhVa0JkUlFpR0VPRV81UGI3ZnZHcCIsImV4cCI6MTYxNjk0NTE5NSwiaWF0IjoxNjE2OTQxNTk1LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.L5-nSozpUw7yCqOLa79STwVjkFWc9G1Q8FyZFTzr9kwlxmbSf5QwOJHl1uboLt1Nd3Aj7UuZnjRFccGElSRc9fc2GcvsvNgMzSGKDFbOVHjNpvtdiD9pcl_OA8EyTo_5mbbgdOrirkHQsCkT-b6sy7NNqMswvmsccCwn95Vy1y44Y88yJGMHyYkBvgYYLfYRRIDmVNGWh2GyovhtdyRn6Rv0DF5kNyKdgl8JsvSSJ9oxPOBsWgBrnRJr9e1-jNZ4QKEyU1hYvrBRqlhqjHsX3aFtJxz49kiDNHOpbuV5AK5xhL-njfIiz_OireCUQrLz3y05znkhXwJxynFzE43rew
2021-03-28 14:26:36 SUCCESS
ValidateIdTokenSignatureUsingKid
id_token signature validated
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6IlhQcTB6MDBiQ3kiLCJjX2hhc2giOiJETmNrUV9Nd1k0cmJMVUhwNm5oUU9RIiwic19oYXNoIjoibFZSVmpQTWNUcVlzX1ZVbnNjU3JNZyIsImF1ZCI6ImhVa0JkUlFpR0VPRV81UGI3ZnZHcCIsImV4cCI6MTYxNjk0NTE5NSwiaWF0IjoxNjE2OTQxNTk1LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.L5-nSozpUw7yCqOLa79STwVjkFWc9G1Q8FyZFTzr9kwlxmbSf5QwOJHl1uboLt1Nd3Aj7UuZnjRFccGElSRc9fc2GcvsvNgMzSGKDFbOVHjNpvtdiD9pcl_OA8EyTo_5mbbgdOrirkHQsCkT-b6sy7NNqMswvmsccCwn95Vy1y44Y88yJGMHyYkBvgYYLfYRRIDmVNGWh2GyovhtdyRn6Rv0DF5kNyKdgl8JsvSSJ9oxPOBsWgBrnRJr9e1-jNZ4QKEyU1hYvrBRqlhqjHsX3aFtJxz49kiDNHOpbuV5AK5xhL-njfIiz_OireCUQrLz3y05znkhXwJxynFzE43rew
2021-03-28 14:26:36 SUCCESS
CheckForSubjectInIdToken
Found 'sub' in id_token
sub
certification_1
2021-03-28 14:26:36 SUCCESS
CreateTokenEndpointRequestForAuthorizationCodeGrant
grant_type
authorization_code
code
pC-EX7tlSZy2rMBJCNbH_5x7yxOO5c1CxxGiDjrNmO7
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
2021-03-28 14:26:36 SUCCESS
AddBasicAuthClientSecretAuthenticationParameters
Added basic authorization header
Authorization
Basic aFVrQmRSUWlHRU9FXzVQYjdmdkdwOnFJa3NqVFYzalVISlNMN0RZRnFLRUZEdVRUeFdSZ3R0T0tvbFFYaFp0b3U5V0JIa3pzVUh4UHozMGVOcktCOVpybXpBaGtad1E2bXJLTUd2LUlvTEp3
2021-03-28 14:26:36
CallTokenEndpoint
HTTP request
request_uri
https://certification.plusauth.com/oauth/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Basic aFVrQmRSUWlHRU9FXzVQYjdmdkdwOnFJa3NqVFYzalVISlNMN0RZRnFLRUZEdVRUeFdSZ3R0T0tvbFFYaFp0b3U5V0JIa3pzVUh4UHozMGVOcktCOVpybXpBaGtad1E2bXJLTUd2LUlvTEp3",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "197"
}
request_body
grant_type=authorization_code&code=pC-EX7tlSZy2rMBJCNbH_5x7yxOO5c1CxxGiDjrNmO7&redirect_uri=https%3A%2F%2Fwww.certification.openid.net%2Ftest%2Fa%2Foidc-provider-discovery-dynamic_client%2Fcallback
2021-03-28 14:26:36 INFO
WebRunner
Completed processing of webpage
task
Verify Complete
browser
complete
response_status_text
200-
match
*/test/*/callback*
url
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
response_status_code
200
2021-03-28 14:26:36 RESPONSE
CallTokenEndpoint
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "vary": "Origin",
  "pragma": "no-cache",
  "cache-control": "no-cache, no-store",
  "content-type": "application/json; charset\u003dutf-8",
  "content-length": "911",
  "date": "Sun, 28 Mar 2021 14:26:36 GMT",
  "x-envoy-upstream-service-time": "18",
  "server": "istio-envoy"
}
response_body
{"access_token":"G9gbwZnFdTty0qMC_1no_Tt1Q7-zy2kmOkGLwrayJy3","expires_in":7200,"id_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6IlhQcTB6MDBiQ3kiLCJhdF9oYXNoIjoiOVhrZENKSFhZZWI3aGhXZXBUVWVBdyIsImF1ZCI6ImhVa0JkUlFpR0VPRV81UGI3ZnZHcCIsImV4cCI6MTYxNjk0NTE5NiwiaWF0IjoxNjE2OTQxNTk2LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.ZNHy2EyDVYnXmtfj3baSh2A3CT2_nNptsMxeOBfSzzkUR5DYMEZcBXyxcipBCnHyOPJw6tkVZGv_19BkhohXkzqJ2XVQ3bHoqmPfrilgFcXZ_Aop3h1JXKOeU9wsGoBQoid8-aj8FsRsXBCjyeCL502pfWYNUnrV6-BkGTfzT2N3npH-4K_HTbrLoaL1MLUCfv2-_puJWii-3_c3q8bhGYoKKopi-xa4eX8FkYBs7LzY4ynFflzV8MMae2J-68_SXP1_CQzE431vMVrVt1qTAYYZuNzIQdbBqXzN_B1z9O8KA7tV6O_6gZ9zdYT6s--gxYTSHJHpTPm2wVIZsYfE7Q","refresh_token":"4nLTfOYZJzMXq1weqstFv2qppc2rNhaZNc1SlsWDgkz","scope":"openid offline_access","token_type":"Bearer"}
2021-03-28 14:26:36
CallTokenEndpoint
Token endpoint response
token_endpoint_response
{"access_token":"G9gbwZnFdTty0qMC_1no_Tt1Q7-zy2kmOkGLwrayJy3","expires_in":7200,"id_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6IlhQcTB6MDBiQ3kiLCJhdF9oYXNoIjoiOVhrZENKSFhZZWI3aGhXZXBUVWVBdyIsImF1ZCI6ImhVa0JkUlFpR0VPRV81UGI3ZnZHcCIsImV4cCI6MTYxNjk0NTE5NiwiaWF0IjoxNjE2OTQxNTk2LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.ZNHy2EyDVYnXmtfj3baSh2A3CT2_nNptsMxeOBfSzzkUR5DYMEZcBXyxcipBCnHyOPJw6tkVZGv_19BkhohXkzqJ2XVQ3bHoqmPfrilgFcXZ_Aop3h1JXKOeU9wsGoBQoid8-aj8FsRsXBCjyeCL502pfWYNUnrV6-BkGTfzT2N3npH-4K_HTbrLoaL1MLUCfv2-_puJWii-3_c3q8bhGYoKKopi-xa4eX8FkYBs7LzY4ynFflzV8MMae2J-68_SXP1_CQzE431vMVrVt1qTAYYZuNzIQdbBqXzN_B1z9O8KA7tV6O_6gZ9zdYT6s--gxYTSHJHpTPm2wVIZsYfE7Q","refresh_token":"4nLTfOYZJzMXq1weqstFv2qppc2rNhaZNc1SlsWDgkz","scope":"openid offline_access","token_type":"Bearer"}
2021-03-28 14:26:36 SUCCESS
CallTokenEndpoint
Parsed token endpoint response
access_token
G9gbwZnFdTty0qMC_1no_Tt1Q7-zy2kmOkGLwrayJy3
expires_in
7200
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6IlhQcTB6MDBiQ3kiLCJhdF9oYXNoIjoiOVhrZENKSFhZZWI3aGhXZXBUVWVBdyIsImF1ZCI6ImhVa0JkUlFpR0VPRV81UGI3ZnZHcCIsImV4cCI6MTYxNjk0NTE5NiwiaWF0IjoxNjE2OTQxNTk2LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.ZNHy2EyDVYnXmtfj3baSh2A3CT2_nNptsMxeOBfSzzkUR5DYMEZcBXyxcipBCnHyOPJw6tkVZGv_19BkhohXkzqJ2XVQ3bHoqmPfrilgFcXZ_Aop3h1JXKOeU9wsGoBQoid8-aj8FsRsXBCjyeCL502pfWYNUnrV6-BkGTfzT2N3npH-4K_HTbrLoaL1MLUCfv2-_puJWii-3_c3q8bhGYoKKopi-xa4eX8FkYBs7LzY4ynFflzV8MMae2J-68_SXP1_CQzE431vMVrVt1qTAYYZuNzIQdbBqXzN_B1z9O8KA7tV6O_6gZ9zdYT6s--gxYTSHJHpTPm2wVIZsYfE7Q
refresh_token
4nLTfOYZJzMXq1weqstFv2qppc2rNhaZNc1SlsWDgkz
scope
openid offline_access
token_type
Bearer
2021-03-28 14:26:36 SUCCESS
CheckIfTokenEndpointResponseError
No error from token endpoint
2021-03-28 14:26:36 SUCCESS
CheckForAccessTokenValue
Found an access token
access_token
G9gbwZnFdTty0qMC_1no_Tt1Q7-zy2kmOkGLwrayJy3
2021-03-28 14:26:36 SUCCESS
ExtractAccessTokenFromTokenResponse
Extracted the access token
value
G9gbwZnFdTty0qMC_1no_Tt1Q7-zy2kmOkGLwrayJy3
type
Bearer
2021-03-28 14:26:36 SUCCESS
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
expires_in
7200
2021-03-28 14:26:36 SUCCESS
ValidateExpiresIn
expires_in passed all validation checks
expires_in
7200
2021-03-28 14:26:36 SUCCESS
CheckForRefreshTokenValue
Found a refresh token
refresh_token
4nLTfOYZJzMXq1weqstFv2qppc2rNhaZNc1SlsWDgkz
2021-03-28 14:26:36 SUCCESS
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
value
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6IlhQcTB6MDBiQ3kiLCJhdF9oYXNoIjoiOVhrZENKSFhZZWI3aGhXZXBUVWVBdyIsImF1ZCI6ImhVa0JkUlFpR0VPRV81UGI3ZnZHcCIsImV4cCI6MTYxNjk0NTE5NiwiaWF0IjoxNjE2OTQxNTk2LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.ZNHy2EyDVYnXmtfj3baSh2A3CT2_nNptsMxeOBfSzzkUR5DYMEZcBXyxcipBCnHyOPJw6tkVZGv_19BkhohXkzqJ2XVQ3bHoqmPfrilgFcXZ_Aop3h1JXKOeU9wsGoBQoid8-aj8FsRsXBCjyeCL502pfWYNUnrV6-BkGTfzT2N3npH-4K_HTbrLoaL1MLUCfv2-_puJWii-3_c3q8bhGYoKKopi-xa4eX8FkYBs7LzY4ynFflzV8MMae2J-68_SXP1_CQzE431vMVrVt1qTAYYZuNzIQdbBqXzN_B1z9O8KA7tV6O_6gZ9zdYT6s--gxYTSHJHpTPm2wVIZsYfE7Q
header
{
  "kid": "9dtTMGokAYuDGQjdE6lyhwR_wM0CgihB-BX6lk6-ZO4",
  "typ": "JWT",
  "alg": "RS256"
}
claims
{
  "at_hash": "9XkdCJHXYeb7hhWepTUeAw",
  "sub": "certification_1",
  "aud": "hUkBdRQiGEOE_5Pb7fvGp",
  "iss": "https://certification.plusauth.com",
  "exp": 1616945196,
  "nonce": "XPq0z00bCy",
  "iat": 1616941596
}
2021-03-28 14:26:36 SUCCESS
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
2021-03-28 14:26:36 SUCCESS
ValidateIdTokenNonce
Nonce values match
nonce
XPq0z00bCy
2021-03-28 14:26:36 SUCCESS
ValidateIdTokenACRClaimAgainstRequest
Nothing to check; the conformance suite did not request an acr claim in request object
2021-03-28 14:26:36 SUCCESS
ValidateIdTokenSignature
id_token signature validated
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6IlhQcTB6MDBiQ3kiLCJhdF9oYXNoIjoiOVhrZENKSFhZZWI3aGhXZXBUVWVBdyIsImF1ZCI6ImhVa0JkUlFpR0VPRV81UGI3ZnZHcCIsImV4cCI6MTYxNjk0NTE5NiwiaWF0IjoxNjE2OTQxNTk2LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.ZNHy2EyDVYnXmtfj3baSh2A3CT2_nNptsMxeOBfSzzkUR5DYMEZcBXyxcipBCnHyOPJw6tkVZGv_19BkhohXkzqJ2XVQ3bHoqmPfrilgFcXZ_Aop3h1JXKOeU9wsGoBQoid8-aj8FsRsXBCjyeCL502pfWYNUnrV6-BkGTfzT2N3npH-4K_HTbrLoaL1MLUCfv2-_puJWii-3_c3q8bhGYoKKopi-xa4eX8FkYBs7LzY4ynFflzV8MMae2J-68_SXP1_CQzE431vMVrVt1qTAYYZuNzIQdbBqXzN_B1z9O8KA7tV6O_6gZ9zdYT6s--gxYTSHJHpTPm2wVIZsYfE7Q
2021-03-28 14:26:36 SUCCESS
ValidateIdTokenSignatureUsingKid
id_token signature validated
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6IlhQcTB6MDBiQ3kiLCJhdF9oYXNoIjoiOVhrZENKSFhZZWI3aGhXZXBUVWVBdyIsImF1ZCI6ImhVa0JkUlFpR0VPRV81UGI3ZnZHcCIsImV4cCI6MTYxNjk0NTE5NiwiaWF0IjoxNjE2OTQxNTk2LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.ZNHy2EyDVYnXmtfj3baSh2A3CT2_nNptsMxeOBfSzzkUR5DYMEZcBXyxcipBCnHyOPJw6tkVZGv_19BkhohXkzqJ2XVQ3bHoqmPfrilgFcXZ_Aop3h1JXKOeU9wsGoBQoid8-aj8FsRsXBCjyeCL502pfWYNUnrV6-BkGTfzT2N3npH-4K_HTbrLoaL1MLUCfv2-_puJWii-3_c3q8bhGYoKKopi-xa4eX8FkYBs7LzY4ynFflzV8MMae2J-68_SXP1_CQzE431vMVrVt1qTAYYZuNzIQdbBqXzN_B1z9O8KA7tV6O_6gZ9zdYT6s--gxYTSHJHpTPm2wVIZsYfE7Q
2021-03-28 14:26:36 SUCCESS
CheckForSubjectInIdToken
Found 'sub' in id_token
sub
certification_1
2021-03-28 14:26:36 SUCCESS
VerifyIdTokenSubConsistentHybridFlow
authorization endpoint and token endpoint id_token have same sub
sub_auth_endpoint
certification_1
sub_token_endpoint
certification_1
2021-03-28 14:26:36 SUCCESS
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
refresh_token
4nLTfOYZJzMXq1weqstFv2qppc2rNhaZNc1SlsWDgkz
2021-03-28 14:26:36 SUCCESS
EnsureServerConfigurationSupportsRefreshToken
The server configuration indicates support for refresh tokens
supported_grant_types
[
  "implicit",
  "authorization_code",
  "refresh_token",
  "client_credentials",
  "urn:ietf:params:oauth:grant-type:device_code",
  "urn:ietf:params:oauth:grant-type:token-exchange"
]
2021-03-28 14:26:36 SUCCESS
EnsureRefreshTokenContainsAllowedCharactersOnly
Refresh token does not contain any illegal characters
Refresh Token Request
2021-03-28 14:26:36 SUCCESS
CreateRefreshTokenRequest
Created token endpoint request parameters
grant_type
refresh_token
refresh_token
4nLTfOYZJzMXq1weqstFv2qppc2rNhaZNc1SlsWDgkz
2021-03-28 14:26:36 SUCCESS
AddScopeToTokenEndpointRequest
Added scope of 'openid offline_access' to token endpoint request
grant_type
refresh_token
refresh_token
4nLTfOYZJzMXq1weqstFv2qppc2rNhaZNc1SlsWDgkz
scope
openid offline_access
2021-03-28 14:26:36 SUCCESS
AddBasicAuthClientSecretAuthenticationParameters
Added basic authorization header
Authorization
Basic aFVrQmRSUWlHRU9FXzVQYjdmdkdwOnFJa3NqVFYzalVISlNMN0RZRnFLRUZEdVRUeFdSZ3R0T0tvbFFYaFp0b3U5V0JIa3pzVUh4UHozMGVOcktCOVpybXpBaGtad1E2bXJLTUd2LUlvTEp3
2021-03-28 14:26:36 SUCCESS
WaitForOneSecond
Pausing for 1 seconds
2021-03-28 14:26:37 SUCCESS
WaitForOneSecond
Woke up after 1 seconds sleep
2021-03-28 14:26:37
CallTokenEndpointAndReturnFullResponse
HTTP request
request_uri
https://certification.plusauth.com/oauth/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Basic aFVrQmRSUWlHRU9FXzVQYjdmdkdwOnFJa3NqVFYzalVISlNMN0RZRnFLRUZEdVRUeFdSZ3R0T0tvbFFYaFp0b3U5V0JIa3pzVUh4UHozMGVOcktCOVpybXpBaGtad1E2bXJLTUd2LUlvTEp3",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "110"
}
request_body
grant_type=refresh_token&refresh_token=4nLTfOYZJzMXq1weqstFv2qppc2rNhaZNc1SlsWDgkz&scope=openid+offline_access
2021-03-28 14:26:38 RESPONSE
CallTokenEndpointAndReturnFullResponse
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "vary": "Origin",
  "pragma": "no-cache",
  "cache-control": "no-cache, no-store",
  "content-type": "application/json; charset\u003dutf-8",
  "content-length": "911",
  "date": "Sun, 28 Mar 2021 14:26:38 GMT",
  "x-envoy-upstream-service-time": "21",
  "server": "istio-envoy"
}
response_body
{"access_token":"QF2kpY580ZrYYEaNkhYjb_Z9gjFTp9E97vMLe0RhK1y","expires_in":7200,"id_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6IlhQcTB6MDBiQ3kiLCJhdF9oYXNoIjoiYnpuTHBrQk5CeVJydFJFRy1tajZCQSIsImF1ZCI6ImhVa0JkUlFpR0VPRV81UGI3ZnZHcCIsImV4cCI6MTYxNjk0NTE5OCwiaWF0IjoxNjE2OTQxNTk4LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.HR9D8ap5_oMjYrA_BVUyTwU3AyrMGk6jNsgHMxLDKOtK-CDVV4sB_V1snREycq8QUUSRHHoBHCkyx4q8ZIKOgPxkKh6-ZMz4-2I5QMHoaJYRxOZgu-I2aUF3atu141G5LHfSCr6pAhqA9uogeiQG9GPAQR0lIfVKPigsRcmQrgSolclmvSB0KCqnZ_GywQLID3d6Oc7dJY3GfNN0dFLStRvvDwt6IwCeG5v9sJdVsYKJRNKxqmtr58hnA42Q8pTzkc9zcTsM66piZy79DrbI2Rht_Yb2jPCh33p25BM6aECBdqqbQf8FI1Nw2YM9uD0pAmu_WFFEAlmGCHBDsO69DQ","refresh_token":"4nLTfOYZJzMXq1weqstFv2qppc2rNhaZNc1SlsWDgkz","scope":"openid offline_access","token_type":"Bearer"}
2021-03-28 14:26:38 SUCCESS
CallTokenEndpointAndReturnFullResponse
Parsed token endpoint response
access_token
QF2kpY580ZrYYEaNkhYjb_Z9gjFTp9E97vMLe0RhK1y
expires_in
7200
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6IlhQcTB6MDBiQ3kiLCJhdF9oYXNoIjoiYnpuTHBrQk5CeVJydFJFRy1tajZCQSIsImF1ZCI6ImhVa0JkUlFpR0VPRV81UGI3ZnZHcCIsImV4cCI6MTYxNjk0NTE5OCwiaWF0IjoxNjE2OTQxNTk4LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.HR9D8ap5_oMjYrA_BVUyTwU3AyrMGk6jNsgHMxLDKOtK-CDVV4sB_V1snREycq8QUUSRHHoBHCkyx4q8ZIKOgPxkKh6-ZMz4-2I5QMHoaJYRxOZgu-I2aUF3atu141G5LHfSCr6pAhqA9uogeiQG9GPAQR0lIfVKPigsRcmQrgSolclmvSB0KCqnZ_GywQLID3d6Oc7dJY3GfNN0dFLStRvvDwt6IwCeG5v9sJdVsYKJRNKxqmtr58hnA42Q8pTzkc9zcTsM66piZy79DrbI2Rht_Yb2jPCh33p25BM6aECBdqqbQf8FI1Nw2YM9uD0pAmu_WFFEAlmGCHBDsO69DQ
refresh_token
4nLTfOYZJzMXq1weqstFv2qppc2rNhaZNc1SlsWDgkz
scope
openid offline_access
token_type
Bearer
2021-03-28 14:26:38 SUCCESS
CheckTokenEndpointHttpStatus200
Token endpoint http status code was 200
2021-03-28 14:26:38 SUCCESS
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
2021-03-28 14:26:38 SUCCESS
CheckTokenEndpointCacheHeaders
'pragma' and 'cache-control' headers in token endpoint response contain expected values.
cache_control_header
no-cache, no-store
pragma_header
no-cache
2021-03-28 14:26:38 SUCCESS
CheckIfTokenEndpointResponseError
No error from token endpoint
2021-03-28 14:26:38 SUCCESS
ExtractAccessTokenFromTokenResponse
Extracted the access token
value
QF2kpY580ZrYYEaNkhYjb_Z9gjFTp9E97vMLe0RhK1y
type
Bearer
2021-03-28 14:26:38 SUCCESS
CheckTokenTypeIsBearer
Token type is bearer
2021-03-28 14:26:38 SUCCESS
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
actual
204.57449695002674
expected
96.0
2021-03-28 14:26:38 SUCCESS
EnsureAccessTokenContainsAllowedCharactersOnly
Access token does not contain any illegal characters
2021-03-28 14:26:38 SUCCESS
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
expires_in
7200
2021-03-28 14:26:38 SUCCESS
ValidateExpiresIn
expires_in passed all validation checks
expires_in
7200
2021-03-28 14:26:38 SUCCESS
EnsureAccessTokenValuesAreDifferent
Access token values are not the same
first_access_token
G9gbwZnFdTty0qMC_1no_Tt1Q7-zy2kmOkGLwrayJy3
second_access_token
QF2kpY580ZrYYEaNkhYjb_Z9gjFTp9E97vMLe0RhK1y
2021-03-28 14:26:38 SUCCESS
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
value
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6IlhQcTB6MDBiQ3kiLCJhdF9oYXNoIjoiYnpuTHBrQk5CeVJydFJFRy1tajZCQSIsImF1ZCI6ImhVa0JkUlFpR0VPRV81UGI3ZnZHcCIsImV4cCI6MTYxNjk0NTE5OCwiaWF0IjoxNjE2OTQxNTk4LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.HR9D8ap5_oMjYrA_BVUyTwU3AyrMGk6jNsgHMxLDKOtK-CDVV4sB_V1snREycq8QUUSRHHoBHCkyx4q8ZIKOgPxkKh6-ZMz4-2I5QMHoaJYRxOZgu-I2aUF3atu141G5LHfSCr6pAhqA9uogeiQG9GPAQR0lIfVKPigsRcmQrgSolclmvSB0KCqnZ_GywQLID3d6Oc7dJY3GfNN0dFLStRvvDwt6IwCeG5v9sJdVsYKJRNKxqmtr58hnA42Q8pTzkc9zcTsM66piZy79DrbI2Rht_Yb2jPCh33p25BM6aECBdqqbQf8FI1Nw2YM9uD0pAmu_WFFEAlmGCHBDsO69DQ
header
{
  "kid": "9dtTMGokAYuDGQjdE6lyhwR_wM0CgihB-BX6lk6-ZO4",
  "typ": "JWT",
  "alg": "RS256"
}
claims
{
  "at_hash": "bznLpkBNByRrtREG-mj6BA",
  "sub": "certification_1",
  "aud": "hUkBdRQiGEOE_5Pb7fvGp",
  "iss": "https://certification.plusauth.com",
  "exp": 1616945198,
  "nonce": "XPq0z00bCy",
  "iat": 1616941598
}
2021-03-28 14:26:38 SUCCESS
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
refresh_token
4nLTfOYZJzMXq1weqstFv2qppc2rNhaZNc1SlsWDgkz
2021-03-28 14:26:38 SUCCESS
EnsureMinimumRefreshTokenLength
Refresh token is of sufficient length
actual
344
required
128
2021-03-28 14:26:38 SUCCESS
EnsureMinimumRefreshTokenEntropy
Calculated shannon entropy seems sufficient
actual
212.5744969500267
expected
96.0
2021-03-28 14:26:38 SUCCESS
CompareIdTokenClaims
Validated id token claims successfully
iss
{
  "first": "https://certification.plusauth.com",
  "second": "https://certification.plusauth.com",
  "note": "Values are expected to be equal"
}
sub
{
  "first": "certification_1",
  "second": "certification_1",
  "note": "Values are expected to be equal"
}
iat
{
  "first": 1616941596,
  "second": 1616941598,
  "note": "Values are expected to be different"
}
aud
{
  "first": "hUkBdRQiGEOE_5Pb7fvGp",
  "second": "hUkBdRQiGEOE_5Pb7fvGp",
  "note": "Values are expected to be equal"
}
azp
Id tokens do not contain azp claims
Userinfo endpoint tests
2021-03-28 14:26:38
CallProtectedResourceWithBearerToken
HTTP request
request_uri
https://certification.plusauth.com/me
request_method
GET
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Bearer QF2kpY580ZrYYEaNkhYjb_Z9gjFTp9E97vMLe0RhK1y",
  "accept-charset": "utf-8",
  "content-length": "0"
}
request_body

                                
2021-03-28 14:26:38 RESPONSE
CallProtectedResourceWithBearerToken
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "vary": "Origin",
  "pragma": "no-cache",
  "cache-control": "no-cache, no-store",
  "x-fapi-interaction-id": "8b116f4c-84ab-495c-b249-01d2f58435a6",
  "content-type": "application/json; charset\u003dutf-8",
  "content-length": "25",
  "date": "Sun, 28 Mar 2021 14:26:38 GMT",
  "x-envoy-upstream-service-time": "13",
  "server": "istio-envoy"
}
response_body
{"sub":"certification_1"}
2021-03-28 14:26:38 SUCCESS
CallProtectedResourceWithBearerToken
Got a response from the resource endpoint
headers
{
  "vary": "Origin",
  "pragma": "no-cache",
  "cache-control": "no-cache, no-store",
  "x-fapi-interaction-id": "8b116f4c-84ab-495c-b249-01d2f58435a6",
  "content-type": "application/json; charset\u003dutf-8",
  "content-length": "25",
  "date": "Sun, 28 Mar 2021 14:26:38 GMT",
  "x-envoy-upstream-service-time": "13",
  "server": "istio-envoy"
}
status_code
{
  "code": 200
}
body
{"sub":"certification_1"}
Second client: Make request to authorization endpoint
2021-03-28 14:26:38 SUCCESS
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
client_id
8Zpk2YsG2pMPy1ykXvcjy
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
scope
openid offline_access
2021-03-28 14:26:38
CreateRandomStateValue
Created state value
requested_state_length
10
state
yoA9uWEMf9
2021-03-28 14:26:38 SUCCESS
AddStateToAuthorizationEndpointRequest
Added state parameter to request
client_id
8Zpk2YsG2pMPy1ykXvcjy
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
scope
openid offline_access
state
yoA9uWEMf9
2021-03-28 14:26:38
CreateRandomNonceValue
Created nonce value
requested_nonce_length
10
nonce
alwuIewUWl
2021-03-28 14:26:38 SUCCESS
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
client_id
8Zpk2YsG2pMPy1ykXvcjy
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
scope
openid offline_access
state
yoA9uWEMf9
nonce
alwuIewUWl
2021-03-28 14:26:38 SUCCESS
SetAuthorizationEndpointRequestResponseTypeFromEnvironment
Added response_type parameter to request
client_id
8Zpk2YsG2pMPy1ykXvcjy
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
scope
openid offline_access
state
yoA9uWEMf9
nonce
alwuIewUWl
response_type
code id_token
2021-03-28 14:26:38
SetAuthorizationEndpointRequestResponseModeToFormPost
Added response_mode parameter to request
client_id
8Zpk2YsG2pMPy1ykXvcjy
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
scope
openid offline_access
state
yoA9uWEMf9
nonce
alwuIewUWl
response_type
code id_token
response_mode
form_post
2021-03-28 14:26:38 SUCCESS
AddPromptConsentToAuthorizationEndpointRequestIfScopeContainsOfflineAccess
Added prompt=consent to authorization endpoint request
client_id
8Zpk2YsG2pMPy1ykXvcjy
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
scope
openid offline_access
state
yoA9uWEMf9
nonce
alwuIewUWl
response_type
code id_token
response_mode
form_post
prompt
consent
2021-03-28 14:26:38 SUCCESS
BuildPlainRedirectToAuthorizationEndpoint
Sending to authorization endpoint
redirect_to_authorization_endpoint
https://certification.plusauth.com/oauth/auth?client_id=8Zpk2YsG2pMPy1ykXvcjy&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback&scope=openid%20offline_access&state=yoA9uWEMf9&nonce=alwuIewUWl&response_type=code%20id_token&response_mode=form_post&prompt=consent
2021-03-28 14:26:38 REDIRECT
oidcc-refresh-token
Redirecting to authorization endpoint
redirect_to
https://certification.plusauth.com/oauth/auth?client_id=8Zpk2YsG2pMPy1ykXvcjy&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback&scope=openid%20offline_access&state=yoA9uWEMf9&nonce=alwuIewUWl&response_type=code%20id_token&response_mode=form_post&prompt=consent
2021-03-28 14:26:38
WebRunner
Scripted browser HTTP request
browser
goToUrl
request_method
GET
request_uri
https://certification.plusauth.com/oauth/auth?client_id=8Zpk2YsG2pMPy1ykXvcjy&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback&scope=openid%20offline_access&state=yoA9uWEMf9&nonce=alwuIewUWl&response_type=code%20id_token&response_mode=form_post&prompt=consent
2021-03-28 14:26:39 RESPONSE
WebRunner
Scripted browser HTTP response
response_content
<!DOCTYPE html>
<html lang="en" >
<head><script>var PlusAuth = window.PlusAuth = {"client":{"clientName":"second-openid-client bf8nOpmC6HRyIeD","applicationType":"web","social":[]},"details":{"scopes":{"new":["openid","offline_access"],"accepted":[],"rejected":[]},"claims":{"new":[],"accepted":[],"rejected":[]},"account":"certification_1"},"params":{"client_id":"8Zpk2YsG2pMPy1ykXvcjy","nonce":"alwuIewUWl","prompt":"consent","redirect_uri":"https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback","response_mode":"form_post","response_type":"code id_token","scope":"openid offline_access","state":"yoA9uWEMf9"},"prompt":{"name":"consent"},"settings":{}} </script>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <title>Consent</title>
</head>
<body >
<div class="login-card">
  <h1>Consent</h1>
  <form autocomplete="off" action="/signin/consent/confirm" method="post">
    <button autofocus type="submit" class="login login-submit">Continue</button>
  </form>
  <a href="/signin/consent/reject" autofocus class="login-reject">Reject</a>
</div>
</body >
</html >
response_content_type
text/html
response_status_text
200-OK
response_status_code
200
2021-03-28 14:26:39 INFO
WebRunner
Entering text
task
Login
browser
text
element_type
name
value
foo
url
https://certification.plusauth.com/signin/consent
target
username
2021-03-28 14:26:39 INFO
WebRunner
Element not found, skipping as 'text' command is marked 'optional'
task
Login
browser
text
element_type
name
value
foo
url
https://certification.plusauth.com/signin/consent
target
username
2021-03-28 14:26:39 INFO
WebRunner
Entering text
task
Login
browser
text
element_type
name
value
bar
url
https://certification.plusauth.com/signin/consent
target
password
2021-03-28 14:26:39 INFO
WebRunner
Element not found, skipping as 'text' command is marked 'optional'
task
Login
browser
text
element_type
name
value
bar
url
https://certification.plusauth.com/signin/consent
target
password
2021-03-28 14:26:39 INFO
WebRunner
Clicking an element
task
Login
browser
click
element_type
class
url
https://certification.plusauth.com/signin/consent
target
login-submit
2021-03-28 14:26:39 INCOMING
oidcc-refresh-token
Incoming HTTP request to test instance bf8nOpmC6HRyIeD
incoming_headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36",
  "accept": "text/html,application/xhtml+xml,application/xml;q\u003d0.9,image/avif,image/webp,image/apng,*/*;q\u003d0.8,application/signed-exchange;v\u003db3;q\u003d0.9",
  "sec-fetch-site": "same-origin",
  "sec-fetch-mode": "navigate",
  "sec-fetch-user": "?1",
  "sec-fetch-dest": "document",
  "referer": "https://certification.plusauth.com/oauth/auth/odtaeIS9bix0YnigaJwDI",
  "accept-encoding": "gzip, deflate, br",
  "accept-language": "en-US",
  "cookie": "JSESSIONID\u003d3F5E7D889065A061FC04A6EC510C5929",
  "origin": "https://certification.plusauth.com",
  "cache-control": "max-age\u003d0",
  "content-type": "application/x-www-form-urlencoded",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "content-length": "878",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net",
  "connection": "close"
}
incoming_path
callback
incoming_body_form_params
{
  "code": "s16j6SlE-HP5OIa18T_P9Gml601k-gZ1h4rtql3Ck1C",
  "id_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6ImFsd3VJZXdVV2wiLCJjX2hhc2giOiJjS1VSNUhWRWxqc250Rm5lMkZnUUtBIiwic19oYXNoIjoiTS05VkdLODRRbnRMcUdaM2lHYzkwQSIsImF1ZCI6IjhacGsyWXNHMnBNUHkxeWtYdmNqeSIsImV4cCI6MTYxNjk0NTE5OSwiaWF0IjoxNjE2OTQxNTk5LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.N_KgS5_H4_c5GYH2X4zzAYYuQ9VuKgzzkn2u5ryPpSCgbBlsqN5UFFNpuU5rTJ6TPHdk8tckpe0dNe23sDocWctz8QcxYd8zwX62XSYdMwuzxdb5nnpZ302iRxXTe0FrD6bRos4v-d8-sbvvBR2yKLCYBc_0aDzCUGoffcB86KinqxVrRuSczCcbVnBFfj6hxZftgmen77db1lcjTjAp3IGaKfVcnYePMUZW0Yrg23Y4kBgayKKwAwW6ED5y_C96H0vb7K8aOciwD3qr1rD5dwTJdVDn5TnCWV2djjkdF-M_g5PoBfUtJ7c-MicNwnmEdAl_y6yXLgtqlikB4ZTk8g",
  "state": "yoA9uWEMf9",
  "session_state": "9PBw5WXfxtkB3vysNAvsEXWpNs0a7bEED_o9Eq_LPoI"
}
incoming_method
POST
incoming_body_json
incoming_query_string_params
{}
incoming_body
code=s16j6SlE-HP5OIa18T_P9Gml601k-gZ1h4rtql3Ck1C&id_token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6ImFsd3VJZXdVV2wiLCJjX2hhc2giOiJjS1VSNUhWRWxqc250Rm5lMkZnUUtBIiwic19oYXNoIjoiTS05VkdLODRRbnRMcUdaM2lHYzkwQSIsImF1ZCI6IjhacGsyWXNHMnBNUHkxeWtYdmNqeSIsImV4cCI6MTYxNjk0NTE5OSwiaWF0IjoxNjE2OTQxNTk5LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.N_KgS5_H4_c5GYH2X4zzAYYuQ9VuKgzzkn2u5ryPpSCgbBlsqN5UFFNpuU5rTJ6TPHdk8tckpe0dNe23sDocWctz8QcxYd8zwX62XSYdMwuzxdb5nnpZ302iRxXTe0FrD6bRos4v-d8-sbvvBR2yKLCYBc_0aDzCUGoffcB86KinqxVrRuSczCcbVnBFfj6hxZftgmen77db1lcjTjAp3IGaKfVcnYePMUZW0Yrg23Y4kBgayKKwAwW6ED5y_C96H0vb7K8aOciwD3qr1rD5dwTJdVDn5TnCWV2djjkdF-M_g5PoBfUtJ7c-MicNwnmEdAl_y6yXLgtqlikB4ZTk8g&state=yoA9uWEMf9&session_state=9PBw5WXfxtkB3vysNAvsEXWpNs0a7bEED_o9Eq_LPoI
2021-03-28 14:26:39 SUCCESS
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
implicit_submit
{
  "path": "implicit/bMYZryRrhhtiGpbwCRqx",
  "fullUrl": "https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/implicit/bMYZryRrhhtiGpbwCRqx"
}
2021-03-28 14:26:39 OUTGOING
oidcc-refresh-token
Response to HTTP request to test instance bf8nOpmC6HRyIeD
outgoing
ModelAndView [view="implicitCallback"; model={implicitSubmitUrl=https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/implicit/bMYZryRrhhtiGpbwCRqx, returnUrl=/log-detail.html?log=bf8nOpmC6HRyIeD}]
outgoing_path
callback
2021-03-28 14:26:40 INFO
WebRunner
Completed processing of webpage
task
Login
browser
complete
response_status_text
200-
match
https://certification.plusauth.com/signin*
url
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
response_status_code
200
2021-03-28 14:26:40
WebRunner
Skipping optional task due to URL mismatch
task
Consent
browser
skip
match
https://certification.plusauth.com/signin/consent*
url
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
commands
[
  [
    "click",
    "class",
    "login-submit"
  ]
]
2021-03-28 14:26:40 INFO
WebRunner
Waiting
regexp
seconds
10
task
Verify Complete
browser
wait
action
element_type
id
url
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
target
submission_complete
2021-03-28 14:26:40 INCOMING
oidcc-refresh-token
Incoming HTTP request to test instance bf8nOpmC6HRyIeD
incoming_headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36",
  "accept": "*/*",
  "sec-fetch-site": "same-origin",
  "sec-fetch-mode": "navigate",
  "sec-fetch-user": "?1",
  "sec-fetch-dest": "document",
  "referer": "https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback",
  "accept-encoding": "gzip, deflate, br",
  "accept-language": "en-US",
  "cookie": "JSESSIONID\u003d3F5E7D889065A061FC04A6EC510C5929",
  "x-requested-with": "XMLHttpRequest",
  "content-type": "text/plain",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "content-length": "0",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net",
  "connection": "close"
}
incoming_path
implicit/bMYZryRrhhtiGpbwCRqx
incoming_body_form_params
incoming_method
POST
incoming_body_json
incoming_query_string_params
{}
incoming_body
2021-03-28 14:26:40 OUTGOING
oidcc-refresh-token
Response to HTTP request to test instance bf8nOpmC6HRyIeD
outgoing_status_code
204
outgoing_headers
{}
outgoing_body

                                
outgoing_path
implicit/bMYZryRrhhtiGpbwCRqx
2021-03-28 14:26:40 SUCCESS
ExtractImplicitHashToCallbackResponse
implicit_hash is empty
2021-03-28 14:26:40 REDIRECT-IN
oidcc-refresh-token
Authorization endpoint response captured
url_query
{}
headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36",
  "accept": "text/html,application/xhtml+xml,application/xml;q\u003d0.9,image/avif,image/webp,image/apng,*/*;q\u003d0.8,application/signed-exchange;v\u003db3;q\u003d0.9",
  "sec-fetch-site": "same-origin",
  "sec-fetch-mode": "navigate",
  "sec-fetch-user": "?1",
  "sec-fetch-dest": "document",
  "referer": "https://certification.plusauth.com/oauth/auth/odtaeIS9bix0YnigaJwDI",
  "accept-encoding": "gzip, deflate, br",
  "accept-language": "en-US",
  "cookie": "JSESSIONID\u003d3F5E7D889065A061FC04A6EC510C5929",
  "origin": "https://certification.plusauth.com",
  "cache-control": "max-age\u003d0",
  "content-type": "application/x-www-form-urlencoded",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "content-length": "878",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net",
  "connection": "close"
}
http_method
POST
url_fragment
{}
post_body
{
  "code": "s16j6SlE-HP5OIa18T_P9Gml601k-gZ1h4rtql3Ck1C",
  "id_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6ImFsd3VJZXdVV2wiLCJjX2hhc2giOiJjS1VSNUhWRWxqc250Rm5lMkZnUUtBIiwic19oYXNoIjoiTS05VkdLODRRbnRMcUdaM2lHYzkwQSIsImF1ZCI6IjhacGsyWXNHMnBNUHkxeWtYdmNqeSIsImV4cCI6MTYxNjk0NTE5OSwiaWF0IjoxNjE2OTQxNTk5LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.N_KgS5_H4_c5GYH2X4zzAYYuQ9VuKgzzkn2u5ryPpSCgbBlsqN5UFFNpuU5rTJ6TPHdk8tckpe0dNe23sDocWctz8QcxYd8zwX62XSYdMwuzxdb5nnpZ302iRxXTe0FrD6bRos4v-d8-sbvvBR2yKLCYBc_0aDzCUGoffcB86KinqxVrRuSczCcbVnBFfj6hxZftgmen77db1lcjTjAp3IGaKfVcnYePMUZW0Yrg23Y4kBgayKKwAwW6ED5y_C96H0vb7K8aOciwD3qr1rD5dwTJdVDn5TnCWV2djjkdF-M_g5PoBfUtJ7c-MicNwnmEdAl_y6yXLgtqlikB4ZTk8g",
  "state": "yoA9uWEMf9",
  "session_state": "9PBw5WXfxtkB3vysNAvsEXWpNs0a7bEED_o9Eq_LPoI"
}
Second client: Verify authorization endpoint response
2021-03-28 14:26:40 SUCCESS
CheckCallbackHttpMethodIsPost
HTTP method used at redirect_uri is 'POST'
2021-03-28 14:26:40 SUCCESS
CheckCallbackContentTypeIsFormUrlEncoded
content-type header to redirect_uri has the expected value
content_type
application/x-www-form-urlencoded
expected
application/x-www-form-urlencoded
2021-03-28 14:26:40 SUCCESS
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
2021-03-28 14:26:40 SUCCESS
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
2021-03-28 14:26:40 SUCCESS
CheckMatchingCallbackParameters
Callback parameters successfully verified
2021-03-28 14:26:40
ValidateIssInAuthorizationResponse
No 'iss' value in authorization response.
2021-03-28 14:26:40 SUCCESS
CheckIfAuthorizationEndpointError
No error from authorization endpoint
2021-03-28 14:26:40 SUCCESS
CheckStateInAuthorizationResponse
State in response correctly returned
state
yoA9uWEMf9
2021-03-28 14:26:40 SUCCESS
ExtractAuthorizationCodeFromAuthorizationResponse
Found authorization code
code
s16j6SlE-HP5OIa18T_P9Gml601k-gZ1h4rtql3Ck1C
2021-03-28 14:26:40 SUCCESS
ExtractIdTokenFromAuthorizationResponse
Found and parsed the id_token from authorization_endpoint_response
value
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6ImFsd3VJZXdVV2wiLCJjX2hhc2giOiJjS1VSNUhWRWxqc250Rm5lMkZnUUtBIiwic19oYXNoIjoiTS05VkdLODRRbnRMcUdaM2lHYzkwQSIsImF1ZCI6IjhacGsyWXNHMnBNUHkxeWtYdmNqeSIsImV4cCI6MTYxNjk0NTE5OSwiaWF0IjoxNjE2OTQxNTk5LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.N_KgS5_H4_c5GYH2X4zzAYYuQ9VuKgzzkn2u5ryPpSCgbBlsqN5UFFNpuU5rTJ6TPHdk8tckpe0dNe23sDocWctz8QcxYd8zwX62XSYdMwuzxdb5nnpZ302iRxXTe0FrD6bRos4v-d8-sbvvBR2yKLCYBc_0aDzCUGoffcB86KinqxVrRuSczCcbVnBFfj6hxZftgmen77db1lcjTjAp3IGaKfVcnYePMUZW0Yrg23Y4kBgayKKwAwW6ED5y_C96H0vb7K8aOciwD3qr1rD5dwTJdVDn5TnCWV2djjkdF-M_g5PoBfUtJ7c-MicNwnmEdAl_y6yXLgtqlikB4ZTk8g
header
{
  "kid": "9dtTMGokAYuDGQjdE6lyhwR_wM0CgihB-BX6lk6-ZO4",
  "typ": "JWT",
  "alg": "RS256"
}
claims
{
  "sub": "certification_1",
  "c_hash": "cKUR5HVEljsntFne2FgQKA",
  "aud": "8Zpk2YsG2pMPy1ykXvcjy",
  "s_hash": "M-9VGK84QntLqGZ3iGc90A",
  "iss": "https://certification.plusauth.com",
  "exp": 1616945199,
  "nonce": "alwuIewUWl",
  "iat": 1616941599
}
2021-03-28 14:26:40 SUCCESS
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
2021-03-28 14:26:40 SUCCESS
ValidateIdTokenNonce
Nonce values match
nonce
alwuIewUWl
2021-03-28 14:26:40 SUCCESS
ValidateIdTokenACRClaimAgainstRequest
Nothing to check; the conformance suite did not request an acr claim in request object
2021-03-28 14:26:40 SUCCESS
ValidateIdTokenSignature
id_token signature validated
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6ImFsd3VJZXdVV2wiLCJjX2hhc2giOiJjS1VSNUhWRWxqc250Rm5lMkZnUUtBIiwic19oYXNoIjoiTS05VkdLODRRbnRMcUdaM2lHYzkwQSIsImF1ZCI6IjhacGsyWXNHMnBNUHkxeWtYdmNqeSIsImV4cCI6MTYxNjk0NTE5OSwiaWF0IjoxNjE2OTQxNTk5LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.N_KgS5_H4_c5GYH2X4zzAYYuQ9VuKgzzkn2u5ryPpSCgbBlsqN5UFFNpuU5rTJ6TPHdk8tckpe0dNe23sDocWctz8QcxYd8zwX62XSYdMwuzxdb5nnpZ302iRxXTe0FrD6bRos4v-d8-sbvvBR2yKLCYBc_0aDzCUGoffcB86KinqxVrRuSczCcbVnBFfj6hxZftgmen77db1lcjTjAp3IGaKfVcnYePMUZW0Yrg23Y4kBgayKKwAwW6ED5y_C96H0vb7K8aOciwD3qr1rD5dwTJdVDn5TnCWV2djjkdF-M_g5PoBfUtJ7c-MicNwnmEdAl_y6yXLgtqlikB4ZTk8g
2021-03-28 14:26:40 SUCCESS
ValidateIdTokenSignatureUsingKid
id_token signature validated
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6ImFsd3VJZXdVV2wiLCJjX2hhc2giOiJjS1VSNUhWRWxqc250Rm5lMkZnUUtBIiwic19oYXNoIjoiTS05VkdLODRRbnRMcUdaM2lHYzkwQSIsImF1ZCI6IjhacGsyWXNHMnBNUHkxeWtYdmNqeSIsImV4cCI6MTYxNjk0NTE5OSwiaWF0IjoxNjE2OTQxNTk5LCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.N_KgS5_H4_c5GYH2X4zzAYYuQ9VuKgzzkn2u5ryPpSCgbBlsqN5UFFNpuU5rTJ6TPHdk8tckpe0dNe23sDocWctz8QcxYd8zwX62XSYdMwuzxdb5nnpZ302iRxXTe0FrD6bRos4v-d8-sbvvBR2yKLCYBc_0aDzCUGoffcB86KinqxVrRuSczCcbVnBFfj6hxZftgmen77db1lcjTjAp3IGaKfVcnYePMUZW0Yrg23Y4kBgayKKwAwW6ED5y_C96H0vb7K8aOciwD3qr1rD5dwTJdVDn5TnCWV2djjkdF-M_g5PoBfUtJ7c-MicNwnmEdAl_y6yXLgtqlikB4ZTk8g
2021-03-28 14:26:40 SUCCESS
CheckForSubjectInIdToken
Found 'sub' in id_token
sub
certification_1
2021-03-28 14:26:40 SUCCESS
CreateTokenEndpointRequestForAuthorizationCodeGrant
grant_type
authorization_code
code
s16j6SlE-HP5OIa18T_P9Gml601k-gZ1h4rtql3Ck1C
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
2021-03-28 14:26:40 SUCCESS
AddBasicAuthClientSecretAuthenticationParameters
Added basic authorization header
Authorization
Basic OFpwazJZc0cycE1QeTF5a1h2Y2p5OllfYV9ZaTQ5U1p5T1RldTNGZU1kX01ySmxaT0F2YnVHWDV5Yk4tNnRWTVU3M29VX1JFM2VyVXpmTXR0bWRoY0tVV3R1bXhmN0RFaDNMdE1sS3NPWEJR
2021-03-28 14:26:40
CallTokenEndpoint
HTTP request
request_uri
https://certification.plusauth.com/oauth/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Basic OFpwazJZc0cycE1QeTF5a1h2Y2p5OllfYV9ZaTQ5U1p5T1RldTNGZU1kX01ySmxaT0F2YnVHWDV5Yk4tNnRWTVU3M29VX1JFM2VyVXpmTXR0bWRoY0tVV3R1bXhmN0RFaDNMdE1sS3NPWEJR",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "197"
}
request_body
grant_type=authorization_code&code=s16j6SlE-HP5OIa18T_P9Gml601k-gZ1h4rtql3Ck1C&redirect_uri=https%3A%2F%2Fwww.certification.openid.net%2Ftest%2Fa%2Foidc-provider-discovery-dynamic_client%2Fcallback
2021-03-28 14:26:40 INFO
WebRunner
Completed processing of webpage
task
Verify Complete
browser
complete
response_status_text
200-
match
*/test/*/callback*
url
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
response_status_code
200
2021-03-28 14:26:40 RESPONSE
CallTokenEndpoint
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "vary": "Origin",
  "pragma": "no-cache",
  "cache-control": "no-cache, no-store",
  "content-type": "application/json; charset\u003dutf-8",
  "content-length": "911",
  "date": "Sun, 28 Mar 2021 14:26:40 GMT",
  "x-envoy-upstream-service-time": "17",
  "server": "istio-envoy"
}
response_body
{"access_token":"67ekMGRWtn_Nu2kvi19iTtZWmvRrFIm13P70YBex8a3","expires_in":7200,"id_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6ImFsd3VJZXdVV2wiLCJhdF9oYXNoIjoibFk1alVNTWY5NW9IRm1KTm4tajFxdyIsImF1ZCI6IjhacGsyWXNHMnBNUHkxeWtYdmNqeSIsImV4cCI6MTYxNjk0NTIwMCwiaWF0IjoxNjE2OTQxNjAwLCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.pk9_l_Rj3HG5GabzPEeATY5_xkKyL9bn-M8aFNOwE4YuVjFEpZwtfh0_aqPn_fcSwULnSt74cpRuFivi5ff5fTNPxB8ruBwhmJSqn4ehfBY0Usv4-rAAILgE1OLuFY1YfsecMuo5w8urkd2xxg8NaSTCElfTSOp3uK2cmEyQ6lQCE_l7UTtUM_9AKzOh8Zv5F2A4YZwZ92jZmc1rdPW30x8dZAgSHOT6bKUfwHbmsF2760oVZpsuiUDD-AWk1rhtveAkGPdylHSoqNpSawWgQw2ZMmChRug8AU_QLvfCi6JHJ6b5P9G-tE6EqQX1bDbJ2UOXKtJl5Kk4LAnYjVQdrw","refresh_token":"Kvpq9pqo2UFkIIcl_6ByonFfuI34dJ_QGQqeOYnRpwG","scope":"openid offline_access","token_type":"Bearer"}
2021-03-28 14:26:40
CallTokenEndpoint
Token endpoint response
token_endpoint_response
{"access_token":"67ekMGRWtn_Nu2kvi19iTtZWmvRrFIm13P70YBex8a3","expires_in":7200,"id_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6ImFsd3VJZXdVV2wiLCJhdF9oYXNoIjoibFk1alVNTWY5NW9IRm1KTm4tajFxdyIsImF1ZCI6IjhacGsyWXNHMnBNUHkxeWtYdmNqeSIsImV4cCI6MTYxNjk0NTIwMCwiaWF0IjoxNjE2OTQxNjAwLCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.pk9_l_Rj3HG5GabzPEeATY5_xkKyL9bn-M8aFNOwE4YuVjFEpZwtfh0_aqPn_fcSwULnSt74cpRuFivi5ff5fTNPxB8ruBwhmJSqn4ehfBY0Usv4-rAAILgE1OLuFY1YfsecMuo5w8urkd2xxg8NaSTCElfTSOp3uK2cmEyQ6lQCE_l7UTtUM_9AKzOh8Zv5F2A4YZwZ92jZmc1rdPW30x8dZAgSHOT6bKUfwHbmsF2760oVZpsuiUDD-AWk1rhtveAkGPdylHSoqNpSawWgQw2ZMmChRug8AU_QLvfCi6JHJ6b5P9G-tE6EqQX1bDbJ2UOXKtJl5Kk4LAnYjVQdrw","refresh_token":"Kvpq9pqo2UFkIIcl_6ByonFfuI34dJ_QGQqeOYnRpwG","scope":"openid offline_access","token_type":"Bearer"}
2021-03-28 14:26:40 SUCCESS
CallTokenEndpoint
Parsed token endpoint response
access_token
67ekMGRWtn_Nu2kvi19iTtZWmvRrFIm13P70YBex8a3
expires_in
7200
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6ImFsd3VJZXdVV2wiLCJhdF9oYXNoIjoibFk1alVNTWY5NW9IRm1KTm4tajFxdyIsImF1ZCI6IjhacGsyWXNHMnBNUHkxeWtYdmNqeSIsImV4cCI6MTYxNjk0NTIwMCwiaWF0IjoxNjE2OTQxNjAwLCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.pk9_l_Rj3HG5GabzPEeATY5_xkKyL9bn-M8aFNOwE4YuVjFEpZwtfh0_aqPn_fcSwULnSt74cpRuFivi5ff5fTNPxB8ruBwhmJSqn4ehfBY0Usv4-rAAILgE1OLuFY1YfsecMuo5w8urkd2xxg8NaSTCElfTSOp3uK2cmEyQ6lQCE_l7UTtUM_9AKzOh8Zv5F2A4YZwZ92jZmc1rdPW30x8dZAgSHOT6bKUfwHbmsF2760oVZpsuiUDD-AWk1rhtveAkGPdylHSoqNpSawWgQw2ZMmChRug8AU_QLvfCi6JHJ6b5P9G-tE6EqQX1bDbJ2UOXKtJl5Kk4LAnYjVQdrw
refresh_token
Kvpq9pqo2UFkIIcl_6ByonFfuI34dJ_QGQqeOYnRpwG
scope
openid offline_access
token_type
Bearer
2021-03-28 14:26:40 SUCCESS
CheckIfTokenEndpointResponseError
No error from token endpoint
2021-03-28 14:26:40 SUCCESS
CheckForAccessTokenValue
Found an access token
access_token
67ekMGRWtn_Nu2kvi19iTtZWmvRrFIm13P70YBex8a3
2021-03-28 14:26:40 SUCCESS
ExtractAccessTokenFromTokenResponse
Extracted the access token
value
67ekMGRWtn_Nu2kvi19iTtZWmvRrFIm13P70YBex8a3
type
Bearer
2021-03-28 14:26:40 SUCCESS
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
expires_in
7200
2021-03-28 14:26:40 SUCCESS
ValidateExpiresIn
expires_in passed all validation checks
expires_in
7200
2021-03-28 14:26:40 SUCCESS
CheckForRefreshTokenValue
Found a refresh token
refresh_token
Kvpq9pqo2UFkIIcl_6ByonFfuI34dJ_QGQqeOYnRpwG
2021-03-28 14:26:40 SUCCESS
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
value
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6ImFsd3VJZXdVV2wiLCJhdF9oYXNoIjoibFk1alVNTWY5NW9IRm1KTm4tajFxdyIsImF1ZCI6IjhacGsyWXNHMnBNUHkxeWtYdmNqeSIsImV4cCI6MTYxNjk0NTIwMCwiaWF0IjoxNjE2OTQxNjAwLCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.pk9_l_Rj3HG5GabzPEeATY5_xkKyL9bn-M8aFNOwE4YuVjFEpZwtfh0_aqPn_fcSwULnSt74cpRuFivi5ff5fTNPxB8ruBwhmJSqn4ehfBY0Usv4-rAAILgE1OLuFY1YfsecMuo5w8urkd2xxg8NaSTCElfTSOp3uK2cmEyQ6lQCE_l7UTtUM_9AKzOh8Zv5F2A4YZwZ92jZmc1rdPW30x8dZAgSHOT6bKUfwHbmsF2760oVZpsuiUDD-AWk1rhtveAkGPdylHSoqNpSawWgQw2ZMmChRug8AU_QLvfCi6JHJ6b5P9G-tE6EqQX1bDbJ2UOXKtJl5Kk4LAnYjVQdrw
header
{
  "kid": "9dtTMGokAYuDGQjdE6lyhwR_wM0CgihB-BX6lk6-ZO4",
  "typ": "JWT",
  "alg": "RS256"
}
claims
{
  "at_hash": "lY5jUMMf95oHFmJNn-j1qw",
  "sub": "certification_1",
  "aud": "8Zpk2YsG2pMPy1ykXvcjy",
  "iss": "https://certification.plusauth.com",
  "exp": 1616945200,
  "nonce": "alwuIewUWl",
  "iat": 1616941600
}
2021-03-28 14:26:40 SUCCESS
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
2021-03-28 14:26:40 SUCCESS
ValidateIdTokenNonce
Nonce values match
nonce
alwuIewUWl
2021-03-28 14:26:40 SUCCESS
ValidateIdTokenACRClaimAgainstRequest
Nothing to check; the conformance suite did not request an acr claim in request object
2021-03-28 14:26:40 SUCCESS
ValidateIdTokenSignature
id_token signature validated
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6ImFsd3VJZXdVV2wiLCJhdF9oYXNoIjoibFk1alVNTWY5NW9IRm1KTm4tajFxdyIsImF1ZCI6IjhacGsyWXNHMnBNUHkxeWtYdmNqeSIsImV4cCI6MTYxNjk0NTIwMCwiaWF0IjoxNjE2OTQxNjAwLCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.pk9_l_Rj3HG5GabzPEeATY5_xkKyL9bn-M8aFNOwE4YuVjFEpZwtfh0_aqPn_fcSwULnSt74cpRuFivi5ff5fTNPxB8ruBwhmJSqn4ehfBY0Usv4-rAAILgE1OLuFY1YfsecMuo5w8urkd2xxg8NaSTCElfTSOp3uK2cmEyQ6lQCE_l7UTtUM_9AKzOh8Zv5F2A4YZwZ92jZmc1rdPW30x8dZAgSHOT6bKUfwHbmsF2760oVZpsuiUDD-AWk1rhtveAkGPdylHSoqNpSawWgQw2ZMmChRug8AU_QLvfCi6JHJ6b5P9G-tE6EqQX1bDbJ2UOXKtJl5Kk4LAnYjVQdrw
2021-03-28 14:26:40 SUCCESS
ValidateIdTokenSignatureUsingKid
id_token signature validated
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6ImFsd3VJZXdVV2wiLCJhdF9oYXNoIjoibFk1alVNTWY5NW9IRm1KTm4tajFxdyIsImF1ZCI6IjhacGsyWXNHMnBNUHkxeWtYdmNqeSIsImV4cCI6MTYxNjk0NTIwMCwiaWF0IjoxNjE2OTQxNjAwLCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.pk9_l_Rj3HG5GabzPEeATY5_xkKyL9bn-M8aFNOwE4YuVjFEpZwtfh0_aqPn_fcSwULnSt74cpRuFivi5ff5fTNPxB8ruBwhmJSqn4ehfBY0Usv4-rAAILgE1OLuFY1YfsecMuo5w8urkd2xxg8NaSTCElfTSOp3uK2cmEyQ6lQCE_l7UTtUM_9AKzOh8Zv5F2A4YZwZ92jZmc1rdPW30x8dZAgSHOT6bKUfwHbmsF2760oVZpsuiUDD-AWk1rhtveAkGPdylHSoqNpSawWgQw2ZMmChRug8AU_QLvfCi6JHJ6b5P9G-tE6EqQX1bDbJ2UOXKtJl5Kk4LAnYjVQdrw
2021-03-28 14:26:40 SUCCESS
CheckForSubjectInIdToken
Found 'sub' in id_token
sub
certification_1
2021-03-28 14:26:40 SUCCESS
VerifyIdTokenSubConsistentHybridFlow
authorization endpoint and token endpoint id_token have same sub
sub_auth_endpoint
certification_1
sub_token_endpoint
certification_1
2021-03-28 14:26:40 SUCCESS
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
refresh_token
Kvpq9pqo2UFkIIcl_6ByonFfuI34dJ_QGQqeOYnRpwG
2021-03-28 14:26:40 SUCCESS
EnsureServerConfigurationSupportsRefreshToken
The server configuration indicates support for refresh tokens
supported_grant_types
[
  "implicit",
  "authorization_code",
  "refresh_token",
  "client_credentials",
  "urn:ietf:params:oauth:grant-type:device_code",
  "urn:ietf:params:oauth:grant-type:token-exchange"
]
2021-03-28 14:26:40 SUCCESS
EnsureRefreshTokenContainsAllowedCharactersOnly
Refresh token does not contain any illegal characters
Second client: Refresh Token Request
2021-03-28 14:26:40 SUCCESS
CreateRefreshTokenRequest
Created token endpoint request parameters
grant_type
refresh_token
refresh_token
Kvpq9pqo2UFkIIcl_6ByonFfuI34dJ_QGQqeOYnRpwG
2021-03-28 14:26:40 SUCCESS
AddBasicAuthClientSecretAuthenticationParameters
Added basic authorization header
Authorization
Basic OFpwazJZc0cycE1QeTF5a1h2Y2p5OllfYV9ZaTQ5U1p5T1RldTNGZU1kX01ySmxaT0F2YnVHWDV5Yk4tNnRWTVU3M29VX1JFM2VyVXpmTXR0bWRoY0tVV3R1bXhmN0RFaDNMdE1sS3NPWEJR
2021-03-28 14:26:40 SUCCESS
WaitForOneSecond
Pausing for 1 seconds
2021-03-28 14:26:41 SUCCESS
WaitForOneSecond
Woke up after 1 seconds sleep
2021-03-28 14:26:41
CallTokenEndpointAndReturnFullResponse
HTTP request
request_uri
https://certification.plusauth.com/oauth/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Basic OFpwazJZc0cycE1QeTF5a1h2Y2p5OllfYV9ZaTQ5U1p5T1RldTNGZU1kX01ySmxaT0F2YnVHWDV5Yk4tNnRWTVU3M29VX1JFM2VyVXpmTXR0bWRoY0tVV3R1bXhmN0RFaDNMdE1sS3NPWEJR",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "82"
}
request_body
grant_type=refresh_token&refresh_token=Kvpq9pqo2UFkIIcl_6ByonFfuI34dJ_QGQqeOYnRpwG
2021-03-28 14:26:42 RESPONSE
CallTokenEndpointAndReturnFullResponse
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "vary": "Origin",
  "pragma": "no-cache",
  "cache-control": "no-cache, no-store",
  "content-type": "application/json; charset\u003dutf-8",
  "content-length": "911",
  "date": "Sun, 28 Mar 2021 14:26:42 GMT",
  "x-envoy-upstream-service-time": "18",
  "server": "istio-envoy"
}
response_body
{"access_token":"du_y9zLvzD-eQ5gbLr0dsllszigEHhPz_xXxkaVEXcr","expires_in":7200,"id_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6ImFsd3VJZXdVV2wiLCJhdF9oYXNoIjoib0c1ZHI1ZEFBRjBuRml0d2F3WVZvQSIsImF1ZCI6IjhacGsyWXNHMnBNUHkxeWtYdmNqeSIsImV4cCI6MTYxNjk0NTIwMiwiaWF0IjoxNjE2OTQxNjAyLCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.CVxqOd0fRSvmuVk5fdX2tVMAhw2XYqZ9pmzWzifbDZKGL9tbFPgTJgKll44PQaoceNQ2KxMMrs8BbMcRVIOdgNXwt3j_gRb5Db-u8-X4mzVInI5yL5ABpuJ8nZaVgVxkGD0BkcH-Q3NJijlNyMQpcjsT54-XLxSTXxU1N252vwHb04eQSvo_2usZpRhpTWRYNRmPxN1CNkKWHYvp-eevNhY6PjUUOj4o3NpC3LjR88gNMMB8lG_KRXS9q6uBy5TaOlocso4j08pPgrxx6UWbXSITcMNZuKFET8Vb0sJa9LRXBqtjESiXupFWPLu13aQJ_XBch1-A4z_RQiwnukcO0Q","refresh_token":"Kvpq9pqo2UFkIIcl_6ByonFfuI34dJ_QGQqeOYnRpwG","scope":"openid offline_access","token_type":"Bearer"}
2021-03-28 14:26:42 SUCCESS
CallTokenEndpointAndReturnFullResponse
Parsed token endpoint response
access_token
du_y9zLvzD-eQ5gbLr0dsllszigEHhPz_xXxkaVEXcr
expires_in
7200
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6ImFsd3VJZXdVV2wiLCJhdF9oYXNoIjoib0c1ZHI1ZEFBRjBuRml0d2F3WVZvQSIsImF1ZCI6IjhacGsyWXNHMnBNUHkxeWtYdmNqeSIsImV4cCI6MTYxNjk0NTIwMiwiaWF0IjoxNjE2OTQxNjAyLCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.CVxqOd0fRSvmuVk5fdX2tVMAhw2XYqZ9pmzWzifbDZKGL9tbFPgTJgKll44PQaoceNQ2KxMMrs8BbMcRVIOdgNXwt3j_gRb5Db-u8-X4mzVInI5yL5ABpuJ8nZaVgVxkGD0BkcH-Q3NJijlNyMQpcjsT54-XLxSTXxU1N252vwHb04eQSvo_2usZpRhpTWRYNRmPxN1CNkKWHYvp-eevNhY6PjUUOj4o3NpC3LjR88gNMMB8lG_KRXS9q6uBy5TaOlocso4j08pPgrxx6UWbXSITcMNZuKFET8Vb0sJa9LRXBqtjESiXupFWPLu13aQJ_XBch1-A4z_RQiwnukcO0Q
refresh_token
Kvpq9pqo2UFkIIcl_6ByonFfuI34dJ_QGQqeOYnRpwG
scope
openid offline_access
token_type
Bearer
2021-03-28 14:26:42 SUCCESS
CheckTokenEndpointHttpStatus200
Token endpoint http status code was 200
2021-03-28 14:26:42 SUCCESS
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
2021-03-28 14:26:42 SUCCESS
CheckTokenEndpointCacheHeaders
'pragma' and 'cache-control' headers in token endpoint response contain expected values.
cache_control_header
no-cache, no-store
pragma_header
no-cache
2021-03-28 14:26:42 SUCCESS
CheckIfTokenEndpointResponseError
No error from token endpoint
2021-03-28 14:26:42 SUCCESS
ExtractAccessTokenFromTokenResponse
Extracted the access token
value
du_y9zLvzD-eQ5gbLr0dsllszigEHhPz_xXxkaVEXcr
type
Bearer
2021-03-28 14:26:42 SUCCESS
CheckTokenTypeIsBearer
Token type is bearer
2021-03-28 14:26:42 SUCCESS
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
actual
205.3293844521902
expected
96.0
2021-03-28 14:26:42 SUCCESS
EnsureAccessTokenContainsAllowedCharactersOnly
Access token does not contain any illegal characters
2021-03-28 14:26:42 SUCCESS
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
expires_in
7200
2021-03-28 14:26:42 SUCCESS
ValidateExpiresIn
expires_in passed all validation checks
expires_in
7200
2021-03-28 14:26:42 SUCCESS
EnsureAccessTokenValuesAreDifferent
Access token values are not the same
first_access_token
67ekMGRWtn_Nu2kvi19iTtZWmvRrFIm13P70YBex8a3
second_access_token
du_y9zLvzD-eQ5gbLr0dsllszigEHhPz_xXxkaVEXcr
2021-03-28 14:26:42 SUCCESS
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
value
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjlkdFRNR29rQVl1REdRamRFNmx5aHdSX3dNMENnaWhCLUJYNmxrNi1aTzQifQ.eyJzdWIiOiJjZXJ0aWZpY2F0aW9uXzEiLCJub25jZSI6ImFsd3VJZXdVV2wiLCJhdF9oYXNoIjoib0c1ZHI1ZEFBRjBuRml0d2F3WVZvQSIsImF1ZCI6IjhacGsyWXNHMnBNUHkxeWtYdmNqeSIsImV4cCI6MTYxNjk0NTIwMiwiaWF0IjoxNjE2OTQxNjAyLCJpc3MiOiJodHRwczovL2NlcnRpZmljYXRpb24ucGx1c2F1dGguY29tIn0.CVxqOd0fRSvmuVk5fdX2tVMAhw2XYqZ9pmzWzifbDZKGL9tbFPgTJgKll44PQaoceNQ2KxMMrs8BbMcRVIOdgNXwt3j_gRb5Db-u8-X4mzVInI5yL5ABpuJ8nZaVgVxkGD0BkcH-Q3NJijlNyMQpcjsT54-XLxSTXxU1N252vwHb04eQSvo_2usZpRhpTWRYNRmPxN1CNkKWHYvp-eevNhY6PjUUOj4o3NpC3LjR88gNMMB8lG_KRXS9q6uBy5TaOlocso4j08pPgrxx6UWbXSITcMNZuKFET8Vb0sJa9LRXBqtjESiXupFWPLu13aQJ_XBch1-A4z_RQiwnukcO0Q
header
{
  "kid": "9dtTMGokAYuDGQjdE6lyhwR_wM0CgihB-BX6lk6-ZO4",
  "typ": "JWT",
  "alg": "RS256"
}
claims
{
  "at_hash": "oG5dr5dAAF0nFitwawYVoA",
  "sub": "certification_1",
  "aud": "8Zpk2YsG2pMPy1ykXvcjy",
  "iss": "https://certification.plusauth.com",
  "exp": 1616945202,
  "nonce": "alwuIewUWl",
  "iat": 1616941602
}
2021-03-28 14:26:42 SUCCESS
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
refresh_token
Kvpq9pqo2UFkIIcl_6ByonFfuI34dJ_QGQqeOYnRpwG
2021-03-28 14:26:42 SUCCESS
EnsureMinimumRefreshTokenLength
Refresh token is of sufficient length
actual
344
required
128
2021-03-28 14:26:42 SUCCESS
EnsureMinimumRefreshTokenEntropy
Calculated shannon entropy seems sufficient
actual
207.06472194569977
expected
96.0
2021-03-28 14:26:42 SUCCESS
CompareIdTokenClaims
Validated id token claims successfully
iss
{
  "first": "https://certification.plusauth.com",
  "second": "https://certification.plusauth.com",
  "note": "Values are expected to be equal"
}
sub
{
  "first": "certification_1",
  "second": "certification_1",
  "note": "Values are expected to be equal"
}
iat
{
  "first": 1616941600,
  "second": 1616941602,
  "note": "Values are expected to be different"
}
aud
{
  "first": "8Zpk2YsG2pMPy1ykXvcjy",
  "second": "8Zpk2YsG2pMPy1ykXvcjy",
  "note": "Values are expected to be equal"
}
azp
Id tokens do not contain azp claims
Second client: Userinfo endpoint tests
2021-03-28 14:26:42
CallProtectedResourceWithBearerToken
HTTP request
request_uri
https://certification.plusauth.com/me
request_method
GET
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Bearer du_y9zLvzD-eQ5gbLr0dsllszigEHhPz_xXxkaVEXcr",
  "accept-charset": "utf-8",
  "content-length": "0"
}
request_body

                                
2021-03-28 14:26:43 RESPONSE
CallProtectedResourceWithBearerToken
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "vary": "Origin",
  "pragma": "no-cache",
  "cache-control": "no-cache, no-store",
  "x-fapi-interaction-id": "144cf5f0-2310-41db-922c-b1c80a1037c5",
  "content-type": "application/json; charset\u003dutf-8",
  "content-length": "25",
  "date": "Sun, 28 Mar 2021 14:26:43 GMT",
  "x-envoy-upstream-service-time": "15",
  "server": "istio-envoy"
}
response_body
{"sub":"certification_1"}
2021-03-28 14:26:43 SUCCESS
CallProtectedResourceWithBearerToken
Got a response from the resource endpoint
headers
{
  "vary": "Origin",
  "pragma": "no-cache",
  "cache-control": "no-cache, no-store",
  "x-fapi-interaction-id": "144cf5f0-2310-41db-922c-b1c80a1037c5",
  "content-type": "application/json; charset\u003dutf-8",
  "content-length": "25",
  "date": "Sun, 28 Mar 2021 14:26:43 GMT",
  "x-envoy-upstream-service-time": "15",
  "server": "istio-envoy"
}
status_code
{
  "code": 200
}
body
{"sub":"certification_1"}
Attempting to use refresh_token issued to client 2 with client 1
2021-03-28 14:26:43 SUCCESS
CreateRefreshTokenRequest
Created token endpoint request parameters
grant_type
refresh_token
refresh_token
Kvpq9pqo2UFkIIcl_6ByonFfuI34dJ_QGQqeOYnRpwG
2021-03-28 14:26:43 SUCCESS
AddScopeToTokenEndpointRequest
Added scope of 'openid offline_access' to token endpoint request
grant_type
refresh_token
refresh_token
Kvpq9pqo2UFkIIcl_6ByonFfuI34dJ_QGQqeOYnRpwG
scope
openid offline_access
2021-03-28 14:26:43 SUCCESS
AddBasicAuthClientSecretAuthenticationParameters
Added basic authorization header
Authorization
Basic aFVrQmRSUWlHRU9FXzVQYjdmdkdwOnFJa3NqVFYzalVISlNMN0RZRnFLRUZEdVRUeFdSZ3R0T0tvbFFYaFp0b3U5V0JIa3pzVUh4UHozMGVOcktCOVpybXpBaGtad1E2bXJLTUd2LUlvTEp3
2021-03-28 14:26:43
CallTokenEndpointAndReturnFullResponse
HTTP request
request_uri
https://certification.plusauth.com/oauth/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Basic aFVrQmRSUWlHRU9FXzVQYjdmdkdwOnFJa3NqVFYzalVISlNMN0RZRnFLRUZEdVRUeFdSZ3R0T0tvbFFYaFp0b3U5V0JIa3pzVUh4UHozMGVOcktCOVpybXpBaGtad1E2bXJLTUd2LUlvTEp3",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "110"
}
request_body
grant_type=refresh_token&refresh_token=Kvpq9pqo2UFkIIcl_6ByonFfuI34dJ_QGQqeOYnRpwG&scope=openid+offline_access
2021-03-28 14:26:43 RESPONSE
CallTokenEndpointAndReturnFullResponse
HTTP response
response_status_code
400 BAD_REQUEST
response_status_text
Bad Request
response_headers
{
  "vary": "Origin",
  "pragma": "no-cache",
  "cache-control": "no-cache, no-store",
  "content-type": "application/json; charset\u003dutf-8",
  "content-length": "72",
  "date": "Sun, 28 Mar 2021 14:26:43 GMT",
  "x-envoy-upstream-service-time": "8",
  "server": "istio-envoy"
}
response_body
{"error":"invalid_grant","error_description":"grant request is invalid"}
2021-03-28 14:26:43 SUCCESS
CallTokenEndpointAndReturnFullResponse
Parsed token endpoint response
error
invalid_grant
error_description
grant request is invalid
2021-03-28 14:26:43 SUCCESS
ValidateErrorFromTokenEndpointResponseError
Token endpoint response error returned valid 'error' field
error
invalid_grant
2021-03-28 14:26:43 SUCCESS
CheckTokenEndpointHttpStatus400
Token endpoint http status code was 400
2021-03-28 14:26:43 SUCCESS
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
2021-03-28 14:26:43 SUCCESS
CheckErrorFromTokenEndpointResponseErrorInvalidGrant
Token Endpoint response error returned expected 'error' of 'invalid_grant'
error
invalid_grant
2021-03-28 14:26:43 FINISHED
oidcc-refresh-token
Test has run to completion
testmodule_result
PASSED
Unregister dynamically registered client
2021-03-28 14:26:43
UnregisterDynamicallyRegisteredClient
HTTP request
request_uri
https://certification.plusauth.com/oauth/reg/hUkBdRQiGEOE_5Pb7fvGp
request_method
DELETE
request_headers
{
  "accept": "application/json",
  "accept-charset": "utf-8",
  "authorization": "Bearer hRU8hk8CgiY7_n0SS6QgL79jdJYYyiY78NTX4tKrSc4",
  "content-length": "0"
}
request_body

                                
2021-03-28 14:26:44 RESPONSE
UnregisterDynamicallyRegisteredClient
HTTP response
response_status_code
204 NO_CONTENT
response_status_text
No Content
response_headers
{
  "vary": "Origin",
  "pragma": "no-cache",
  "cache-control": "no-cache, no-store",
  "date": "Sun, 28 Mar 2021 14:26:44 GMT",
  "x-envoy-upstream-service-time": "10",
  "server": "istio-envoy"
}
response_body

                                
2021-03-28 14:26:44 SUCCESS
UnregisterDynamicallyRegisteredClient
Client successfully unregistered
Second client: Unregister dynamically registered client
2021-03-28 14:26:44
UnregisterDynamicallyRegisteredClient
HTTP request
request_uri
https://certification.plusauth.com/oauth/reg/8Zpk2YsG2pMPy1ykXvcjy
request_method
DELETE
request_headers
{
  "accept": "application/json",
  "accept-charset": "utf-8",
  "authorization": "Bearer Pg2q37-B6_wWIqNXTQbYaie79iPhHmKX6LFc11PIvA7",
  "content-length": "0"
}
request_body

                                
2021-03-28 14:26:44 RESPONSE
UnregisterDynamicallyRegisteredClient
HTTP response
response_status_code
204 NO_CONTENT
response_status_text
No Content
response_headers
{
  "vary": "Origin",
  "pragma": "no-cache",
  "cache-control": "no-cache, no-store",
  "date": "Sun, 28 Mar 2021 14:26:44 GMT",
  "x-envoy-upstream-service-time": "10",
  "server": "istio-envoy"
}
response_body

                                
2021-03-28 14:26:44 SUCCESS
UnregisterDynamicallyRegisteredClient
Client successfully unregistered
2021-03-28 14:26:46
TEST-RUNNER
Alias has now been claimed by another test
alias
oidc-provider-discovery-dynamic_client
new_test_id
jfE40wXmI3gtwA5
Test Results