Test Summary

Test Results

Expand All Collapse All
All times are UTC
2021-03-30 16:03:23 INFO
TEST-RUNNER
Test instance KBLqnGqjDOHmjBc created
baseUrl
https://www.certification.openid.net/test/a/oidc-provider-codetoken
variant
{
  "client_auth_type": "private_key_jwt",
  "response_type": "code token",
  "server_metadata": "discovery",
  "client_registration": "dynamic_client",
  "response_mode": "default"
}
alias
oidc-provider-codetoken
description
PlusAuth Dynamic OP Conformance
planId
runLMbK715WQt
config
{
  "alias": "oidc-provider-codetoken",
  "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": [
    {
      "comment": "expect an immediate error page",
      "match": "https://certification.plusauth.com/oauth/auth*",
      "tasks": [
        {
          "task": "Expect redirect uri mismatch error page",
          "match": "https://certification.plusauth.com/oauth/auth*",
          "commands": [
            [
              "wait",
              "xpath",
              "//*",
              10,
              "Ooops!",
              "update-image-placeholder"
            ]
          ]
        }
      ]
    }
  ],
  "description": "PlusAuth Dynamic OP Conformance"
}
testName
oidcc-redirect-uri-query-added
2021-03-30 16:03:23 SUCCESS
CreateRedirectUri
Created redirect URI
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback
2021-03-30 16:03:23
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-30 16:03:24 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": "Tue, 30 Mar 2021 16:03:23 GMT",
  "connection": "keep-alive",
  "keep-alive": "timeout\u003d5"
}
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-30 16:03:24
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-30 16:03:24 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-30 16:03:24 SUCCESS
CheckServerConfiguration
Found required server configuration keys
required
[
  "authorization_endpoint",
  "token_endpoint",
  "issuer"
]
2021-03-30 16:03:24 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-30 16:03:24
FetchServerKeys
Fetching server key
jwks_uri
https://certification.plusauth.com/.well-known/jwks.json
2021-03-30 16:03:24
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-30 16:03:24 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": "Tue, 30 Mar 2021 16:03:24 GMT",
  "connection": "keep-alive",
  "keep-alive": "timeout\u003d5"
}
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-30 16:03:24
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-30 16:03:24 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-30 16:03:24 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-30 16:03:24 SUCCESS
ValidateServerJWKs
Valid server JWKs: keys are valid JSON, contain the required fields and are correctly encoded using unpadded base64url
2021-03-30 16:03:24 SUCCESS
CheckForKeyIdInServerJWKs
All keys contain kids
2021-03-30 16:03:24 SUCCESS
CheckDistinctKeyIdValueInServerJWKs
Distinct 'kid' value in all keys of server_jwks
see
https://bitbucket.org/openid/connect/issues/1127
2021-03-30 16:03:24 SUCCESS
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
2021-03-30 16:03:24 SUCCESS
GetDynamicClientConfiguration
Created dynamic_client_registration_template object from the client configuration.
client_name
first-openid-client
2021-03-30 16:03:24 SUCCESS
GenerateRS256ClientJWKs
Generated client JWKs
client_jwks
{
  "keys": [
    {
      "p": "4_SHhiLGgyiU3m3WZe4k415ZexeGwM0RrsswaNGqnlYqbYD5vpxZwNtEUtdYe5x-nHGNAL_XYHrmCXJloUSukrB4av8jRZ0-4Sq41iA13xdJ343LRpdxRkGQnMA_Fb3BNYn03HEpgXf8gDhx1m6WJlC7Rx4o60RCagIZ21G8Y-c",
      "kty": "RSA",
      "q": "2QhAUtnVi9YrrZOJiL0f9ZYK8djZ9m0F9dqQVHnhFjEHWlWH--ZdwWFisNmmMZJ-KI6pX2w3faYHei_Ks_s4-eb-i1FLCBeiAcUO5S14dU5azFGW7rHCN8W0U0va8Wjk_5ur1T8k-46zy8rDVGVan8Ty3Vk0NGUvL0Xth1e2GEs",
      "d": "X92r5TSXoG4f-9AZd3TQlMOnls5evJuLHm83lHOXZ01yN2vDG3GNrgg4KptbsQhXclkIUEaSECDtlMKCFezuxkx2ewNEaObdjQ3eTd40flcXXOPxdHaS-tmciLBnNgo8YlLUODCWPqG6UkO0UheMvLWJhx3pLaJQtubRxr6yPiZi_jgvm41P8oCyJnCG7JwsAc0UqD1u2Ux7mCKj24ygW2oTqu-wASVAPWgy9tjw3rqJZyb9gCU8cDESvs6PsspVU4oQRN5bHVZPkIo3EURAj52wxez5lbwxjiRXIMxqp8b76nV6e_TQzOe50gQi2735GkgtV2h5cxbYF6ajTBejCQ",
      "e": "AQAB",
      "use": "sig",
      "qi": "NhmPRVZtZ2VMq8oBGlxCgXYe4l3D47b3MVmnco2RMwcc--RqwH3fxc2PEMa5D7bhraG-M3miWcp2qLQQV_jJWg50Hq8c96BpLPGgFi9mUrgS265j45p7W4zN3VSnyHDwhcgZBLwKRTSWcu8TF9cl1e4awqR-cAhjcocDkHuO6rU",
      "dp": "UW7lizGZIPm6VMuAL-GnI-JsrOB2ryGTE5JatNdR0EaP2ZadoU5RcefivIVZgq8hO9oEuSPPWRQOYYmQbNAQXS7VlcOXYiMOd3m_lh7jn9K9_TK2T32CZcq-UoELCEVFZE7oPmfen_WxKkz_vc67rOxiOsG3dHRqFVyyx_qnBjk",
      "alg": "RS256",
      "dq": "1o_Qv9f5xWh0AANnKhcHfIzcvyJKwdQg22E75TglLgJEqar7aC7kK6VyozJZmpKgRMpdaigbaA33QHX1KSBJwM38gpFY42Qx1xwRUMM2XoqbO3nCBLMaNncvglXw209_bbBiHc1ya3w2Blir6UjWYjOcgvaIpPAPyOWSIYa2UKc",
      "n": "wUGfy9fYuuQ0zlAD1tmetxF36qDXR-Fx3XcQA52hby3LV5iEeW4UH7vC2mdEv1nB4CjHhMViiAAboxTjzAVEA42jC5ba6ZVd-UE-OOOvpyQQGGfN6999W4WoK5GxdpXrBtg46L69VA1c1x2k7AN0n5Y3QK09x51V0205gw0YXtIbRAXNhPjA1NVXOUHs6gF-bd912Pm50MYF6wziw3JZO0GV28sYRV5dU5IWQH-8wbdVTnTfct8S9kaRAOXYHmQPy6r2vyrBhbSnldoHZgYI1RHEjFpYdYRfoq36TxAWBQGs5eMBO4GpsCbsklGJwwxjb1lw_MWoE4gE1c6eIsjsrQ"
    }
  ]
}
public_client_jwks
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "alg": "RS256",
      "n": "wUGfy9fYuuQ0zlAD1tmetxF36qDXR-Fx3XcQA52hby3LV5iEeW4UH7vC2mdEv1nB4CjHhMViiAAboxTjzAVEA42jC5ba6ZVd-UE-OOOvpyQQGGfN6999W4WoK5GxdpXrBtg46L69VA1c1x2k7AN0n5Y3QK09x51V0205gw0YXtIbRAXNhPjA1NVXOUHs6gF-bd912Pm50MYF6wziw3JZO0GV28sYRV5dU5IWQH-8wbdVTnTfct8S9kaRAOXYHmQPy6r2vyrBhbSnldoHZgYI1RHEjFpYdYRfoq36TxAWBQGs5eMBO4GpsCbsklGJwwxjb1lw_MWoE4gE1c6eIsjsrQ"
    }
  ]
}
2021-03-30 16:03:24 SUCCESS
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
see
https://bitbucket.org/openid/connect/issues/1127
2021-03-30 16:03:24 SUCCESS
CreateDynamicRegistrationRequest
Created dynamic registration request
client_name
first-openid-client KBLqnGqjDOHmjBc
2021-03-30 16:03:24
AddAuthorizationCodeGrantTypeToDynamicRegistrationRequest
Added 'authorization_code' to 'grant_types'
grant_types
[
  "authorization_code"
]
2021-03-30 16:03:24
AddImplicitGrantTypeToDynamicRegistrationRequest
Added 'implicit' to 'grant_types'
grant_types
[
  "authorization_code",
  "implicit"
]
2021-03-30 16:03:24
AddPublicJwksToDynamicRegistrationRequest
Added client public JWKS to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client KBLqnGqjDOHmjBc",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "wUGfy9fYuuQ0zlAD1tmetxF36qDXR-Fx3XcQA52hby3LV5iEeW4UH7vC2mdEv1nB4CjHhMViiAAboxTjzAVEA42jC5ba6ZVd-UE-OOOvpyQQGGfN6999W4WoK5GxdpXrBtg46L69VA1c1x2k7AN0n5Y3QK09x51V0205gw0YXtIbRAXNhPjA1NVXOUHs6gF-bd912Pm50MYF6wziw3JZO0GV28sYRV5dU5IWQH-8wbdVTnTfct8S9kaRAOXYHmQPy6r2vyrBhbSnldoHZgYI1RHEjFpYdYRfoq36TxAWBQGs5eMBO4GpsCbsklGJwwxjb1lw_MWoE4gE1c6eIsjsrQ"
      }
    ]
  }
}
2021-03-30 16:03:24
AddTokenEndpointAuthMethodToDynamicRegistrationRequestFromEnvironment
Added token endpoint auth method to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client KBLqnGqjDOHmjBc",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "wUGfy9fYuuQ0zlAD1tmetxF36qDXR-Fx3XcQA52hby3LV5iEeW4UH7vC2mdEv1nB4CjHhMViiAAboxTjzAVEA42jC5ba6ZVd-UE-OOOvpyQQGGfN6999W4WoK5GxdpXrBtg46L69VA1c1x2k7AN0n5Y3QK09x51V0205gw0YXtIbRAXNhPjA1NVXOUHs6gF-bd912Pm50MYF6wziw3JZO0GV28sYRV5dU5IWQH-8wbdVTnTfct8S9kaRAOXYHmQPy6r2vyrBhbSnldoHZgYI1RHEjFpYdYRfoq36TxAWBQGs5eMBO4GpsCbsklGJwwxjb1lw_MWoE4gE1c6eIsjsrQ"
      }
    ]
  },
  "token_endpoint_auth_method": "private_key_jwt"
}
2021-03-30 16:03:24
AddResponseTypesArrayToDynamicRegistrationRequestFromEnvironment
Added response_types array to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client KBLqnGqjDOHmjBc",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "wUGfy9fYuuQ0zlAD1tmetxF36qDXR-Fx3XcQA52hby3LV5iEeW4UH7vC2mdEv1nB4CjHhMViiAAboxTjzAVEA42jC5ba6ZVd-UE-OOOvpyQQGGfN6999W4WoK5GxdpXrBtg46L69VA1c1x2k7AN0n5Y3QK09x51V0205gw0YXtIbRAXNhPjA1NVXOUHs6gF-bd912Pm50MYF6wziw3JZO0GV28sYRV5dU5IWQH-8wbdVTnTfct8S9kaRAOXYHmQPy6r2vyrBhbSnldoHZgYI1RHEjFpYdYRfoq36TxAWBQGs5eMBO4GpsCbsklGJwwxjb1lw_MWoE4gE1c6eIsjsrQ"
      }
    ]
  },
  "token_endpoint_auth_method": "private_key_jwt",
  "response_types": [
    "code token"
  ]
}
2021-03-30 16:03:24
AddRedirectUriToDynamicRegistrationRequest
Added redirect_uris array to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client KBLqnGqjDOHmjBc",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "wUGfy9fYuuQ0zlAD1tmetxF36qDXR-Fx3XcQA52hby3LV5iEeW4UH7vC2mdEv1nB4CjHhMViiAAboxTjzAVEA42jC5ba6ZVd-UE-OOOvpyQQGGfN6999W4WoK5GxdpXrBtg46L69VA1c1x2k7AN0n5Y3QK09x51V0205gw0YXtIbRAXNhPjA1NVXOUHs6gF-bd912Pm50MYF6wziw3JZO0GV28sYRV5dU5IWQH-8wbdVTnTfct8S9kaRAOXYHmQPy6r2vyrBhbSnldoHZgYI1RHEjFpYdYRfoq36TxAWBQGs5eMBO4GpsCbsklGJwwxjb1lw_MWoE4gE1c6eIsjsrQ"
      }
    ]
  },
  "token_endpoint_auth_method": "private_key_jwt",
  "response_types": [
    "code token"
  ],
  "redirect_uris": [
    "https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback"
  ]
}
2021-03-30 16:03:24
AddContactsToDynamicRegistrationRequest
Added contacts array to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client KBLqnGqjDOHmjBc",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "wUGfy9fYuuQ0zlAD1tmetxF36qDXR-Fx3XcQA52hby3LV5iEeW4UH7vC2mdEv1nB4CjHhMViiAAboxTjzAVEA42jC5ba6ZVd-UE-OOOvpyQQGGfN6999W4WoK5GxdpXrBtg46L69VA1c1x2k7AN0n5Y3QK09x51V0205gw0YXtIbRAXNhPjA1NVXOUHs6gF-bd912Pm50MYF6wziw3JZO0GV28sYRV5dU5IWQH-8wbdVTnTfct8S9kaRAOXYHmQPy6r2vyrBhbSnldoHZgYI1RHEjFpYdYRfoq36TxAWBQGs5eMBO4GpsCbsklGJwwxjb1lw_MWoE4gE1c6eIsjsrQ"
      }
    ]
  },
  "token_endpoint_auth_method": "private_key_jwt",
  "response_types": [
    "code token"
  ],
  "redirect_uris": [
    "https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback"
  ],
  "contacts": [
    "certification@oidf.org"
  ]
}
2021-03-30 16:03:24
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": "733"
}
request_body
{"client_name":"first-openid-client KBLqnGqjDOHmjBc","grant_types":["authorization_code","implicit"],"jwks":{"keys":[{"kty":"RSA","e":"AQAB","use":"sig","alg":"RS256","n":"wUGfy9fYuuQ0zlAD1tmetxF36qDXR-Fx3XcQA52hby3LV5iEeW4UH7vC2mdEv1nB4CjHhMViiAAboxTjzAVEA42jC5ba6ZVd-UE-OOOvpyQQGGfN6999W4WoK5GxdpXrBtg46L69VA1c1x2k7AN0n5Y3QK09x51V0205gw0YXtIbRAXNhPjA1NVXOUHs6gF-bd912Pm50MYF6wziw3JZO0GV28sYRV5dU5IWQH-8wbdVTnTfct8S9kaRAOXYHmQPy6r2vyrBhbSnldoHZgYI1RHEjFpYdYRfoq36TxAWBQGs5eMBO4GpsCbsklGJwwxjb1lw_MWoE4gE1c6eIsjsrQ"}]},"token_endpoint_auth_method":"private_key_jwt","response_types":["code token"],"redirect_uris":["https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback"],"contacts":["certification@oidf.org"]}
2021-03-30 16:03:25 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": "1598",
  "date": "Tue, 30 Mar 2021 16:03:25 GMT",
  "connection": "keep-alive",
  "keep-alive": "timeout\u003d5"
}
response_body
{"application_type":"web","grant_types":["authorization_code","implicit"],"id_token_signed_response_alg":"RS256","oidc_conformant":true,"post_logout_redirect_uris":[],"require_auth_time":false,"response_types":["code token"],"subject_type":"public","token_endpoint_auth_method":"private_key_jwt","introspection_endpoint_auth_method":"private_key_jwt","introspection_signed_response_alg":"RS256","revocation_endpoint_auth_method":"private_key_jwt","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":1617120205,"client_id":"mgL_CAw8LRDouBwlgnL3m","client_name":"first-openid-client KBLqnGqjDOHmjBc","contacts":["certification@oidf.org"],"jwks":{"keys":[{"kty":"RSA","e":"AQAB","use":"sig","alg":"RS256","n":"wUGfy9fYuuQ0zlAD1tmetxF36qDXR-Fx3XcQA52hby3LV5iEeW4UH7vC2mdEv1nB4CjHhMViiAAboxTjzAVEA42jC5ba6ZVd-UE-OOOvpyQQGGfN6999W4WoK5GxdpXrBtg46L69VA1c1x2k7AN0n5Y3QK09x51V0205gw0YXtIbRAXNhPjA1NVXOUHs6gF-bd912Pm50MYF6wziw3JZO0GV28sYRV5dU5IWQH-8wbdVTnTfct8S9kaRAOXYHmQPy6r2vyrBhbSnldoHZgYI1RHEjFpYdYRfoq36TxAWBQGs5eMBO4GpsCbsklGJwwxjb1lw_MWoE4gE1c6eIsjsrQ"}]},"redirect_uris":["https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback"],"registration_client_uri":"https://certification.plusauth.com/oauth/reg/mgL_CAw8LRDouBwlgnL3m","registration_access_token":"oHPfecT6LIdO2tkKry9-7zwbSAOeGUAMA-IqgnYsLty"}
2021-03-30 16:03:25
CallDynamicRegistrationEndpoint
Registration endpoint response
dynamic_registration_response
{"application_type":"web","grant_types":["authorization_code","implicit"],"id_token_signed_response_alg":"RS256","oidc_conformant":true,"post_logout_redirect_uris":[],"require_auth_time":false,"response_types":["code token"],"subject_type":"public","token_endpoint_auth_method":"private_key_jwt","introspection_endpoint_auth_method":"private_key_jwt","introspection_signed_response_alg":"RS256","revocation_endpoint_auth_method":"private_key_jwt","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":1617120205,"client_id":"mgL_CAw8LRDouBwlgnL3m","client_name":"first-openid-client KBLqnGqjDOHmjBc","contacts":["certification@oidf.org"],"jwks":{"keys":[{"kty":"RSA","e":"AQAB","use":"sig","alg":"RS256","n":"wUGfy9fYuuQ0zlAD1tmetxF36qDXR-Fx3XcQA52hby3LV5iEeW4UH7vC2mdEv1nB4CjHhMViiAAboxTjzAVEA42jC5ba6ZVd-UE-OOOvpyQQGGfN6999W4WoK5GxdpXrBtg46L69VA1c1x2k7AN0n5Y3QK09x51V0205gw0YXtIbRAXNhPjA1NVXOUHs6gF-bd912Pm50MYF6wziw3JZO0GV28sYRV5dU5IWQH-8wbdVTnTfct8S9kaRAOXYHmQPy6r2vyrBhbSnldoHZgYI1RHEjFpYdYRfoq36TxAWBQGs5eMBO4GpsCbsklGJwwxjb1lw_MWoE4gE1c6eIsjsrQ"}]},"redirect_uris":["https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback"],"registration_client_uri":"https://certification.plusauth.com/oauth/reg/mgL_CAw8LRDouBwlgnL3m","registration_access_token":"oHPfecT6LIdO2tkKry9-7zwbSAOeGUAMA-IqgnYsLty"}
2021-03-30 16:03:25
CallDynamicRegistrationEndpoint
Parsed registration endpoint response
application_type
web
grant_types
[
  "authorization_code",
  "implicit"
]
id_token_signed_response_alg
RS256
oidc_conformant
true
post_logout_redirect_uris
[]
require_auth_time
false
response_types
[
  "code token"
]
subject_type
public
token_endpoint_auth_method
private_key_jwt
introspection_endpoint_auth_method
private_key_jwt
introspection_signed_response_alg
RS256
revocation_endpoint_auth_method
private_key_jwt
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
1617120205
client_id
mgL_CAw8LRDouBwlgnL3m
client_name
first-openid-client KBLqnGqjDOHmjBc
contacts
[
  "certification@oidf.org"
]
jwks
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "alg": "RS256",
      "n": "wUGfy9fYuuQ0zlAD1tmetxF36qDXR-Fx3XcQA52hby3LV5iEeW4UH7vC2mdEv1nB4CjHhMViiAAboxTjzAVEA42jC5ba6ZVd-UE-OOOvpyQQGGfN6999W4WoK5GxdpXrBtg46L69VA1c1x2k7AN0n5Y3QK09x51V0205gw0YXtIbRAXNhPjA1NVXOUHs6gF-bd912Pm50MYF6wziw3JZO0GV28sYRV5dU5IWQH-8wbdVTnTfct8S9kaRAOXYHmQPy6r2vyrBhbSnldoHZgYI1RHEjFpYdYRfoq36TxAWBQGs5eMBO4GpsCbsklGJwwxjb1lw_MWoE4gE1c6eIsjsrQ"
    }
  ]
}
redirect_uris
[
  "https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback"
]
registration_client_uri
https://certification.plusauth.com/oauth/reg/mgL_CAw8LRDouBwlgnL3m
registration_access_token
oHPfecT6LIdO2tkKry9-7zwbSAOeGUAMA-IqgnYsLty
2021-03-30 16:03:25 SUCCESS
CallDynamicRegistrationEndpoint
Extracted dynamic registration management credentials
registration_client_uri
https://certification.plusauth.com/oauth/reg/mgL_CAw8LRDouBwlgnL3m
registration_access_token
oHPfecT6LIdO2tkKry9-7zwbSAOeGUAMA-IqgnYsLty
2021-03-30 16:03:25
SetScopeInClientConfigurationToOpenId
Set scope in client configuration to "openid"
scope
openid
2021-03-30 16:03:25 SUCCESS
EnsureServerConfigurationSupportsPrivateKeyJwt
Found supported private_key_jwt method
method
private_key_jwt
2021-03-30 16:03:25 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-30 16:03:25
oidcc-redirect-uri-query-added
Setup Done
Make request to authorization endpoint
2021-03-30 16:03:25 SUCCESS
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
client_id
mgL_CAw8LRDouBwlgnL3m
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback
scope
openid
2021-03-30 16:03:25
CreateRandomStateValue
Created state value
requested_state_length
10
state
QmsGK2nJps
2021-03-30 16:03:25 SUCCESS
AddStateToAuthorizationEndpointRequest
Added state parameter to request
client_id
mgL_CAw8LRDouBwlgnL3m
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback
scope
openid
state
QmsGK2nJps
2021-03-30 16:03:25
CreateRandomNonceValue
Created nonce value
requested_nonce_length
10
nonce
kI470FRq1e
2021-03-30 16:03:25 SUCCESS
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
client_id
mgL_CAw8LRDouBwlgnL3m
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback
scope
openid
state
QmsGK2nJps
nonce
kI470FRq1e
2021-03-30 16:03:25 SUCCESS
SetAuthorizationEndpointRequestResponseTypeFromEnvironment
Added response_type parameter to request
client_id
mgL_CAw8LRDouBwlgnL3m
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback
scope
openid
state
QmsGK2nJps
nonce
kI470FRq1e
response_type
code token
2021-03-30 16:03:25
AddQueryToRedirectUriInAuthorizationRequest
Updated redirect_uri in authorization endpoint request
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback?foo=bar
2021-03-30 16:03:25 SUCCESS
BuildPlainRedirectToAuthorizationEndpoint
Sending to authorization endpoint
redirect_to_authorization_endpoint
https://certification.plusauth.com/oauth/auth?client_id=mgL_CAw8LRDouBwlgnL3m&scope=openid&state=QmsGK2nJps&nonce=kI470FRq1e&response_type=code%20token&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback?foo%3Dbar
2021-03-30 16:03:25 REDIRECT
oidcc-redirect-uri-query-added
Redirecting to authorization endpoint
redirect_to
https://certification.plusauth.com/oauth/auth?client_id=mgL_CAw8LRDouBwlgnL3m&scope=openid&state=QmsGK2nJps&nonce=kI470FRq1e&response_type=code%20token&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback?foo%3Dbar
2021-03-30 16:03:25 REVIEW
ExpectRedirectUriErrorPage
Show redirect URI error page
content_type
text/html
page_source
<?xml version="1.0" encoding="UTF-8"?>
<html lang="en">
  <head>
    <meta charset="UTF-8"/>
    <title>
      Error
    </title>
    <link href="https://fonts.googleapis.com/css?family=Encode+Sans+Semi+Condensed:100,200,300,400" rel="stylesheet"/>
    <style>
      :root{--main-color:#ffffff;--stroke-color:#dc0000}body,html{height:100%;margin:0}body{background:var(--main-color)}h1{margin:0;color:#000;font-family:'Encode Sans Semi Condensed',Verdana,sans-serif;font-size:3rem;line-height:5rem;font-weight:200;text-align:center}h2{font-family:'Encode Sans Semi Condensed',Verdana,sans-serif;font-size:1.5rem;font-weight:200;text-align:center;margin-top:0;margin-bottom:16px}h1,h2{-webkit-transition:opacity .5s linear,margin-top .5s linear;transition:opacity .5s linear,margin-top .5s linear}.loading{padding-top:32px;min-height:185px}.loading h1,.loading h2{margin-top:0;opacity:0}.gears{position:relative;margin:0 auto;width:auto;height:0}.gear{position:relative;z-index:0;width:120px;height:120px;margin:0 auto;border-radius:50%;background:var(--stroke-color)}.gear:before{position:absolute;left:5px;top:5px;right:5px;bottom:5px;z-index:2;content:"";border-radius:50%;background:var(--main-color)}.gear:after{position:absolute;left:25px;top:25px;z-index:3;content:"";width:70px;height:70px;border-radius:50%;border:5px solid var(--stroke-color);box-sizing:border-box;background:var(--main-color)}.gear.one{left:-130px}.gear.two{top:-75px}.gear.three{top:-235px;left:130px}.gear .bar{position:absolute;left:-15px;top:50%;z-index:0;width:150px;height:30px;margin-top:-15px;border-radius:5px;background:var(--stroke-color)}.gear .bar:before{position:absolute;left:5px;top:5px;right:5px;bottom:5px;z-index:1;content:"";border-radius:2px;background:var(--main-color)}.gear .bar:nth-child(2){transform:rotate(60deg);-webkit-transform:rotate(60deg)}.gear .bar:nth-child(3){transform:rotate(120deg);-webkit-transform:rotate(120deg)}@-webkit-keyframes clockwise{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@-webkit-keyframes anticlockwise{0%{-webkit-transform:rotate(360deg)}100%{-webkit-transform:rotate(0)}}@-webkit-keyframes clockwiseError{0%{-webkit-transform:rotate(0)}20%{-webkit-transform:rotate(30deg)}40%{-webkit-transform:rotate(25deg)}60%{-webkit-transform:rotate(30deg)}100%{-webkit-transform:rotate(0)}}@-webkit-keyframes anticlockwiseErrorStop{0%{-webkit-transform:rotate(0)}20%{-webkit-transform:rotate(-30deg)}60%{-webkit-transform:rotate(-30deg)}100%{-webkit-transform:rotate(0)}}@-webkit-keyframes anticlockwiseError{0%{-webkit-transform:rotate(0)}20%{-webkit-transform:rotate(-30deg)}40%{-webkit-transform:rotate(-25deg)}60%{-webkit-transform:rotate(-30deg)}100%{-webkit-transform:rotate(0)}}.gear.one{-webkit-animation:anticlockwiseErrorStop 2s linear infinite}.gear.two{-webkit-animation:anticlockwiseError 2s linear infinite}.gear.three{-webkit-animation:clockwiseError 2s linear infinite}.loading .gear.one,.loading .gear.three{-webkit-animation:clockwise 3s linear infinite}.loading .gear.two{-webkit-animation:anticlockwise 3s linear infinite}
    </style>
    <script type="application/javascript">
//<![CDATA[
var PlusAuth = window.PlusAuth = {"error":"redirect_uri_mismatch","error_description":"redirect_uri did not match any of the client's registered redirect_uris","state":"QmsGK2nJps"} 
//]]>
    </script>
  </head>
  <body class="">
    <div class="loading">
      <div class="gears">
        <div class="gear one">
          <div class="bar">
          </div>
          <div class="bar">
          </div>
          <div class="bar">
          </div>
        </div>
        <div class="gear two">
          <div class="bar">
          </div>
          <div class="bar">
          </div>
          <div class="bar">
          </div>
        </div>
        <div class="gear three">
          <div class="bar">
          </div>
          <div class="bar">
          </div>
          <div class="bar">
          </div>
        </div>
      </div>
    </div>
    <h1>
       Ooops! 
    </h1>
    <h2>
       Something went wrong 
    </h2>
    <style>
      
  table {
    margin: auto;
    font-family: sans-serif;
    font-size: 14px;
  }
  table td {
    padding: 4px;
  }
  table tr td:first-child{
    font-weight: bold;
  }
  table tr td:last-child{
    max-width: 200px;
    padding-left: 8px;
  }

    </style>
    <div id="error">
      <table>
        <tbody>
          <tr>
            <td>
              Error:
            </td>
            <td class="error">
              redirect_uri_mismatch
            </td>
          </tr>
          <tr>
            <td>
              Error Description:
            </td>
            <td class="error-description">
              redirect_uri did not match any of the client's registered redirect_uris
            </td>
          </tr>
          <tr>
            <td>
              State:
            </td>
            <td class="state">
              QmsGK2nJps
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <script>
//<![CDATA[

  document.querySelector("#error .error").innerText = window.PlusAuth.error || "";
  document.querySelector("#error .error-description").innerText = window.PlusAuth.error_description || "";
  document.querySelector("#error .state").innerText = window.PlusAuth.state || "";

//]]>
    </script>
  </body>
</html>
2021-03-30 16:03:25
WebRunner
Scripted browser HTTP request
browser
goToUrl
request_method
GET
request_uri
https://certification.plusauth.com/oauth/auth?client_id=mgL_CAw8LRDouBwlgnL3m&scope=openid&state=QmsGK2nJps&nonce=kI470FRq1e&response_type=code%20token&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback?foo%3Dbar
2021-03-30 16:03:25 RESPONSE
WebRunner
Scripted browser HTTP response
response_content
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Error</title>
  <link href="https://fonts.googleapis.com/css?family=Encode+Sans+Semi+Condensed:100,200,300,400" rel="stylesheet">
  <style>:root{--main-color:#ffffff;--stroke-color:#dc0000}body,html{height:100%;margin:0}body{background:var(--main-color)}h1{margin:0;color:#000;font-family:'Encode Sans Semi Condensed',Verdana,sans-serif;font-size:3rem;line-height:5rem;font-weight:200;text-align:center}h2{font-family:'Encode Sans Semi Condensed',Verdana,sans-serif;font-size:1.5rem;font-weight:200;text-align:center;margin-top:0;margin-bottom:16px}h1,h2{-webkit-transition:opacity .5s linear,margin-top .5s linear;transition:opacity .5s linear,margin-top .5s linear}.loading{padding-top:32px;min-height:185px}.loading h1,.loading h2{margin-top:0;opacity:0}.gears{position:relative;margin:0 auto;width:auto;height:0}.gear{position:relative;z-index:0;width:120px;height:120px;margin:0 auto;border-radius:50%;background:var(--stroke-color)}.gear:before{position:absolute;left:5px;top:5px;right:5px;bottom:5px;z-index:2;content:"";border-radius:50%;background:var(--main-color)}.gear:after{position:absolute;left:25px;top:25px;z-index:3;content:"";width:70px;height:70px;border-radius:50%;border:5px solid var(--stroke-color);box-sizing:border-box;background:var(--main-color)}.gear.one{left:-130px}.gear.two{top:-75px}.gear.three{top:-235px;left:130px}.gear .bar{position:absolute;left:-15px;top:50%;z-index:0;width:150px;height:30px;margin-top:-15px;border-radius:5px;background:var(--stroke-color)}.gear .bar:before{position:absolute;left:5px;top:5px;right:5px;bottom:5px;z-index:1;content:"";border-radius:2px;background:var(--main-color)}.gear .bar:nth-child(2){transform:rotate(60deg);-webkit-transform:rotate(60deg)}.gear .bar:nth-child(3){transform:rotate(120deg);-webkit-transform:rotate(120deg)}@-webkit-keyframes clockwise{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@-webkit-keyframes anticlockwise{0%{-webkit-transform:rotate(360deg)}100%{-webkit-transform:rotate(0)}}@-webkit-keyframes clockwiseError{0%{-webkit-transform:rotate(0)}20%{-webkit-transform:rotate(30deg)}40%{-webkit-transform:rotate(25deg)}60%{-webkit-transform:rotate(30deg)}100%{-webkit-transform:rotate(0)}}@-webkit-keyframes anticlockwiseErrorStop{0%{-webkit-transform:rotate(0)}20%{-webkit-transform:rotate(-30deg)}60%{-webkit-transform:rotate(-30deg)}100%{-webkit-transform:rotate(0)}}@-webkit-keyframes anticlockwiseError{0%{-webkit-transform:rotate(0)}20%{-webkit-transform:rotate(-30deg)}40%{-webkit-transform:rotate(-25deg)}60%{-webkit-transform:rotate(-30deg)}100%{-webkit-transform:rotate(0)}}.gear.one{-webkit-animation:anticlockwiseErrorStop 2s linear infinite}.gear.two{-webkit-animation:anticlockwiseError 2s linear infinite}.gear.three{-webkit-animation:clockwiseError 2s linear infinite}.loading .gear.one,.loading .gear.three{-webkit-animation:clockwise 3s linear infinite}.loading .gear.two{-webkit-animation:anticlockwise 3s linear infinite}</style>
<script type="application/javascript">var PlusAuth = window.PlusAuth = {"error":"redirect_uri_mismatch","error_description":"redirect_uri did not match any of the client's registered redirect_uris","state":"QmsGK2nJps"} </script></head>
<body class="">
<div class="loading">

  <div class="gears">
    <div class="gear one">
      <div class="bar"></div>
      <div class="bar"></div>
      <div class="bar"></div>
    </div>
    <div class="gear two">
      <div class="bar"></div>
      <div class="bar"></div>
      <div class="bar"></div>
    </div>
    <div class="gear three">
      <div class="bar"></div>
      <div class="bar"></div>
      <div class="bar"></div>
    </div>
  </div>
</div>
<h1> Ooops! </h1>
<h2> Something went wrong </h2>
<style>
  table {
    margin: auto;
    font-family: sans-serif;
    font-size: 14px;
  }
  table td {
    padding: 4px;
  }
  table tr td:first-child{
    font-weight: bold;
  }
  table tr td:last-child{
    max-width: 200px;
    padding-left: 8px;
  }
</style>
<div id="error">
 <table>
    <tr>
      <td>Error:</td>
      <td class="error"></td>
    </tr>
    <tr>
      <td>Error Description:</td>
      <td class="error-description"></td>
    </tr>
    <tr>
      <td>State:</td>
      <td class="state"></td>
    </tr>
  </table>
</div>
<script>
  document.querySelector("#error .error").innerText = window.PlusAuth.error || "";
  document.querySelector("#error .error-description").innerText = window.PlusAuth.error_description || "";
  document.querySelector("#error .state").innerText = window.PlusAuth.state || "";
</script>
</body>
</html>
response_content_type
text/html
response_status_text
400-Bad Request
response_status_code
400
2021-03-30 16:03:25 INFO
WebRunner
Waiting
regexp
Ooops!
seconds
10
task
Expect redirect uri mismatch error page
browser
wait
action
update-image-placeholder
element_type
xpath
url
https://certification.plusauth.com/oauth/auth?client_id=mgL_CAw8LRDouBwlgnL3m&scope=openid&state=QmsGK2nJps&nonce=kI470FRq1e&response_type=code%20token&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback?foo%3Dbar
target
//*
2021-03-30 16:03:25
BROWSER
Updated placeholder from scripted browser
placeholder
EopiJg0k0e
2021-03-30 16:03:25
BROWSER
All placeholders filled by scripted browser
2021-03-30 16:03:25 INFO
WebRunner
Completed processing of webpage
task
Expect redirect uri mismatch error page
browser
complete
response_status_text
400-Bad Request
match
https://certification.plusauth.com/oauth/auth*
url
https://certification.plusauth.com/oauth/auth?client_id=mgL_CAw8LRDouBwlgnL3m&scope=openid&state=QmsGK2nJps&nonce=kI470FRq1e&response_type=code%20token&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-codetoken/callback?foo%3Dbar
response_status_code
400
2021-03-30 16:03:26 FINISHED
oidcc-redirect-uri-query-added
Test has run to completion
testmodule_result
REVIEW
Unregister dynamically registered client
2021-03-30 16:03:26
UnregisterDynamicallyRegisteredClient
HTTP request
request_uri
https://certification.plusauth.com/oauth/reg/mgL_CAw8LRDouBwlgnL3m
request_method
DELETE
request_headers
{
  "accept": "application/json",
  "accept-charset": "utf-8",
  "authorization": "Bearer oHPfecT6LIdO2tkKry9-7zwbSAOeGUAMA-IqgnYsLty",
  "content-length": "0"
}
request_body

                                
2021-03-30 16:03:26 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": "Tue, 30 Mar 2021 16:03:26 GMT",
  "connection": "keep-alive",
  "keep-alive": "timeout\u003d5"
}
response_body

                                
2021-03-30 16:03:26 SUCCESS
UnregisterDynamicallyRegisteredClient
Client successfully unregistered
2021-03-30 16:03:27
TEST-RUNNER
Alias has now been claimed by another test
alias
oidc-provider-codetoken
new_test_id
9rsKtokodTTWlXj
2021-03-30 19:00:28 IMAGE
_image-api
img
Test Results