Test Summary

Test Results

Expand All Collapse All
All times are UTC
2021-03-28 14:36:34 INFO
TEST-RUNNER
Test instance W0BSxEhvJpcCvhL 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 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": [
    {
      "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 Form Post OP Conformance"
}
testName
oidcc-ensure-registered-redirect-uri
2021-03-28 14:36:34 SUCCESS
CreateRedirectUri
Created redirect URI
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback
2021-03-28 14:36:34
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:36:34 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:36:34 GMT",
  "x-envoy-upstream-service-time": "7",
  "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:36:34
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:36:34 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:36:34 SUCCESS
CheckServerConfiguration
Found required server configuration keys
required
[
  "authorization_endpoint",
  "token_endpoint",
  "issuer"
]
2021-03-28 14:36:34 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:36:34
FetchServerKeys
Fetching server key
jwks_uri
https://certification.plusauth.com/.well-known/jwks.json
2021-03-28 14:36:34
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:36:35 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:36:35 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:36:35
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:36:35 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:36:35 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:36:35 SUCCESS
ValidateServerJWKs
Valid server JWKs: keys are valid JSON, contain the required fields and are correctly encoded using unpadded base64url
2021-03-28 14:36:35 SUCCESS
CheckForKeyIdInServerJWKs
All keys contain kids
2021-03-28 14:36:35 SUCCESS
CheckDistinctKeyIdValueInServerJWKs
Distinct 'kid' value in all keys of server_jwks
see
https://bitbucket.org/openid/connect/issues/1127
2021-03-28 14:36:35 SUCCESS
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
2021-03-28 14:36:35 SUCCESS
GetDynamicClientConfiguration
Created dynamic_client_registration_template object from the client configuration.
client_name
first-openid-client
2021-03-28 14:36:35 SUCCESS
GenerateRS256ClientJWKs
Generated client JWKs
client_jwks
{
  "keys": [
    {
      "p": "4dhfoanVph3n_V-Ch3MN6KG7FemgGZEhFzBrioe3DwW1gKHNJlRArrj5HP1s53vSaTKh9yopufqJ6YBWAeOwEQf-OidqGJY_oU7qfN1ErT5qzBwkRZvsRd8xQAhFZuUCslO2Kdvs-9UkkBnB5GkSE8Q8dXgBvyJEkfwKL-5XWf8",
      "kty": "RSA",
      "q": "pVtbTxZz0JIFdl8y0ZcMdxMzT3d-MDYWebo1YqZUPqmCs-pXA_tAuLbGI9nWt82P2zbk33PxuW3v1ngv3LgYmCu-QQCPHGDshTUa1QMa7QjbzILkLAYIen_OUIr7qqXV2UGTdyQQQTqZsx4KOrm21iwWqAMRQL6jL_vdiBdVJec",
      "d": "c1uGHOjl1WyDjWPxVo5OoEuXofvEhoy8JrnYMYGjxqIqjxBzsWd5HOGm05kvEV5drNhqYHjYSB2Xu5y6Ad6yZqtXjsqxHZKOouEU0laREizEB6e3oygLToBrXRgdgCCM6NT7Mdp6AGr1FEFduUUkNQLlO1ay58TR9TCtOf_wj_Ods7GXGzttddYgzMhB1TmP6QZXc0pILmXHoJZpcQ9lqIASule6kT78FpGlTFGwcn3snpeAvq68dH8MDUdCUY-lkm4Nl712xLmClzaxJBIpWSBeIxrEaiC40t3LgNmdq2jypiZKK-vnitvThZfWbJD06qxarphNMFhzL4_feMWu9Q",
      "e": "AQAB",
      "use": "sig",
      "qi": "x2XvNrJyoWOnyYH4uBOrABkQJeTAkUQ6SPUXkQaPXynv23eFlf09aEp3E4Q2QyseZO2KVZXJdp56smtFuBu2xAddXFjNCd1SH1BQ3fM5V1acHRT0akyo4jClfV0ey9stLnKMp4svG0YKOIG6tUQ4l4wgtLDryzaByg3brkfbACQ",
      "dp": "oSfSDbzv7IqYmU-HB_pMqXyG0HsWOEg8UZzGkGKJeNm9C13p0vj58vOhJ1ObW48atOBhfMqEXeZudMWUGeMMJwsKGRs49PR50TRL1O_bargIYz-NjnJV5gH-1c9RHrw58WAUs8fwUj9kyMLofYGQWbSE49nPfUEJpxYvesZbZKc",
      "alg": "RS256",
      "dq": "N2MicptSr8o5iizZGNs_kaMczMF5wyxa2utEdobAMT0WSq1z-CFwzG5scBXHlkmEpij9ANwVW8c3Tt9zKLuBgXclgyBsz1Sn5PakxjUED-GnvhkZ1KUwsdedg90J718dAmi0vHOX_kFiulyVkJYkaBjcfeqJHOa-QpRa3_rwyoE",
      "n": "keEOGuCA0bEoRd1YvoM74xB2suxCLwW1dQ5auCa2vZruAsBgHbGANjE6RRtBcF7WaKSgYvfPCtydvZAz61DmGReoSA086ap-q8CDc9P5dqffLsXU3u_fyTUdriWGYDnCliqXGYWVZ9ohOHVCLiksvVgcU02Cksvy8wlSwhYsEk2yVQZ3rFkYpDz5feokNPEq47JWJ0SltZoVZq843QR3LCh379dtNDEQ_9oGm0gDMCTRYkpoX9CmTE1QprufFAGP4GqdkzCgvuungnsiKafIm_r4fQNGSos1pb4o9VKY3tvBn7waZirUTdjR_gEvGRmWIom-vK7pBVLtWA1Be38QGQ"
    }
  ]
}
public_client_jwks
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "alg": "RS256",
      "n": "keEOGuCA0bEoRd1YvoM74xB2suxCLwW1dQ5auCa2vZruAsBgHbGANjE6RRtBcF7WaKSgYvfPCtydvZAz61DmGReoSA086ap-q8CDc9P5dqffLsXU3u_fyTUdriWGYDnCliqXGYWVZ9ohOHVCLiksvVgcU02Cksvy8wlSwhYsEk2yVQZ3rFkYpDz5feokNPEq47JWJ0SltZoVZq843QR3LCh379dtNDEQ_9oGm0gDMCTRYkpoX9CmTE1QprufFAGP4GqdkzCgvuungnsiKafIm_r4fQNGSos1pb4o9VKY3tvBn7waZirUTdjR_gEvGRmWIom-vK7pBVLtWA1Be38QGQ"
    }
  ]
}
2021-03-28 14:36:35 SUCCESS
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
see
https://bitbucket.org/openid/connect/issues/1127
2021-03-28 14:36:35 SUCCESS
CreateDynamicRegistrationRequest
Created dynamic registration request
client_name
first-openid-client W0BSxEhvJpcCvhL
2021-03-28 14:36:35
AddAuthorizationCodeGrantTypeToDynamicRegistrationRequest
Added 'authorization_code' to 'grant_types'
grant_types
[
  "authorization_code"
]
2021-03-28 14:36:35
AddImplicitGrantTypeToDynamicRegistrationRequest
Added 'implicit' to 'grant_types'
grant_types
[
  "authorization_code",
  "implicit"
]
2021-03-28 14:36:35
AddPublicJwksToDynamicRegistrationRequest
Added client public JWKS to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client W0BSxEhvJpcCvhL",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "keEOGuCA0bEoRd1YvoM74xB2suxCLwW1dQ5auCa2vZruAsBgHbGANjE6RRtBcF7WaKSgYvfPCtydvZAz61DmGReoSA086ap-q8CDc9P5dqffLsXU3u_fyTUdriWGYDnCliqXGYWVZ9ohOHVCLiksvVgcU02Cksvy8wlSwhYsEk2yVQZ3rFkYpDz5feokNPEq47JWJ0SltZoVZq843QR3LCh379dtNDEQ_9oGm0gDMCTRYkpoX9CmTE1QprufFAGP4GqdkzCgvuungnsiKafIm_r4fQNGSos1pb4o9VKY3tvBn7waZirUTdjR_gEvGRmWIom-vK7pBVLtWA1Be38QGQ"
      }
    ]
  }
}
2021-03-28 14:36:35
AddTokenEndpointAuthMethodToDynamicRegistrationRequestFromEnvironment
Added token endpoint auth method to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client W0BSxEhvJpcCvhL",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "keEOGuCA0bEoRd1YvoM74xB2suxCLwW1dQ5auCa2vZruAsBgHbGANjE6RRtBcF7WaKSgYvfPCtydvZAz61DmGReoSA086ap-q8CDc9P5dqffLsXU3u_fyTUdriWGYDnCliqXGYWVZ9ohOHVCLiksvVgcU02Cksvy8wlSwhYsEk2yVQZ3rFkYpDz5feokNPEq47JWJ0SltZoVZq843QR3LCh379dtNDEQ_9oGm0gDMCTRYkpoX9CmTE1QprufFAGP4GqdkzCgvuungnsiKafIm_r4fQNGSos1pb4o9VKY3tvBn7waZirUTdjR_gEvGRmWIom-vK7pBVLtWA1Be38QGQ"
      }
    ]
  },
  "token_endpoint_auth_method": "client_secret_basic"
}
2021-03-28 14:36:35
AddResponseTypesArrayToDynamicRegistrationRequestFromEnvironment
Added response_types array to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client W0BSxEhvJpcCvhL",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "keEOGuCA0bEoRd1YvoM74xB2suxCLwW1dQ5auCa2vZruAsBgHbGANjE6RRtBcF7WaKSgYvfPCtydvZAz61DmGReoSA086ap-q8CDc9P5dqffLsXU3u_fyTUdriWGYDnCliqXGYWVZ9ohOHVCLiksvVgcU02Cksvy8wlSwhYsEk2yVQZ3rFkYpDz5feokNPEq47JWJ0SltZoVZq843QR3LCh379dtNDEQ_9oGm0gDMCTRYkpoX9CmTE1QprufFAGP4GqdkzCgvuungnsiKafIm_r4fQNGSos1pb4o9VKY3tvBn7waZirUTdjR_gEvGRmWIom-vK7pBVLtWA1Be38QGQ"
      }
    ]
  },
  "token_endpoint_auth_method": "client_secret_basic",
  "response_types": [
    "code id_token token"
  ]
}
2021-03-28 14:36:35
AddRedirectUriToDynamicRegistrationRequest
Added redirect_uris array to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client W0BSxEhvJpcCvhL",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "keEOGuCA0bEoRd1YvoM74xB2suxCLwW1dQ5auCa2vZruAsBgHbGANjE6RRtBcF7WaKSgYvfPCtydvZAz61DmGReoSA086ap-q8CDc9P5dqffLsXU3u_fyTUdriWGYDnCliqXGYWVZ9ohOHVCLiksvVgcU02Cksvy8wlSwhYsEk2yVQZ3rFkYpDz5feokNPEq47JWJ0SltZoVZq843QR3LCh379dtNDEQ_9oGm0gDMCTRYkpoX9CmTE1QprufFAGP4GqdkzCgvuungnsiKafIm_r4fQNGSos1pb4o9VKY3tvBn7waZirUTdjR_gEvGRmWIom-vK7pBVLtWA1Be38QGQ"
      }
    ]
  },
  "token_endpoint_auth_method": "client_secret_basic",
  "response_types": [
    "code id_token token"
  ],
  "redirect_uris": [
    "https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"
  ]
}
2021-03-28 14:36:35
AddContactsToDynamicRegistrationRequest
Added contacts array to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client W0BSxEhvJpcCvhL",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "e": "AQAB",
        "use": "sig",
        "alg": "RS256",
        "n": "keEOGuCA0bEoRd1YvoM74xB2suxCLwW1dQ5auCa2vZruAsBgHbGANjE6RRtBcF7WaKSgYvfPCtydvZAz61DmGReoSA086ap-q8CDc9P5dqffLsXU3u_fyTUdriWGYDnCliqXGYWVZ9ohOHVCLiksvVgcU02Cksvy8wlSwhYsEk2yVQZ3rFkYpDz5feokNPEq47JWJ0SltZoVZq843QR3LCh379dtNDEQ_9oGm0gDMCTRYkpoX9CmTE1QprufFAGP4GqdkzCgvuungnsiKafIm_r4fQNGSos1pb4o9VKY3tvBn7waZirUTdjR_gEvGRmWIom-vK7pBVLtWA1Be38QGQ"
      }
    ]
  },
  "token_endpoint_auth_method": "client_secret_basic",
  "response_types": [
    "code id_token token"
  ],
  "redirect_uris": [
    "https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"
  ],
  "contacts": [
    "certification@oidf.org"
  ]
}
2021-03-28 14:36:35
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": "761"
}
request_body
{"client_name":"first-openid-client W0BSxEhvJpcCvhL","grant_types":["authorization_code","implicit"],"jwks":{"keys":[{"kty":"RSA","e":"AQAB","use":"sig","alg":"RS256","n":"keEOGuCA0bEoRd1YvoM74xB2suxCLwW1dQ5auCa2vZruAsBgHbGANjE6RRtBcF7WaKSgYvfPCtydvZAz61DmGReoSA086ap-q8CDc9P5dqffLsXU3u_fyTUdriWGYDnCliqXGYWVZ9ohOHVCLiksvVgcU02Cksvy8wlSwhYsEk2yVQZ3rFkYpDz5feokNPEq47JWJ0SltZoVZq843QR3LCh379dtNDEQ_9oGm0gDMCTRYkpoX9CmTE1QprufFAGP4GqdkzCgvuungnsiKafIm_r4fQNGSos1pb4o9VKY3tvBn7waZirUTdjR_gEvGRmWIom-vK7pBVLtWA1Be38QGQ"}]},"token_endpoint_auth_method":"client_secret_basic","response_types":["code id_token token"],"redirect_uris":["https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"],"contacts":["certification@oidf.org"]}
2021-03-28 14:36:36 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": "1768",
  "date": "Sun, 28 Mar 2021 14:36:35 GMT",
  "x-envoy-upstream-service-time": "11",
  "server": "istio-envoy"
}
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 id_token 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":1616942195,"client_id":"1Qyq84MI9Wsd1SrnCBikW","client_name":"first-openid-client W0BSxEhvJpcCvhL","client_secret_expires_at":0,"client_secret":"3Pn3jpUXZcWjTBqT7ikXTy-D-WE-lmPsqCv3UKW2RqmbDlxvTpP8KZTjfKfhSehsIIIZq6IDpRHB_6JjINOwQg","contacts":["certification@oidf.org"],"jwks":{"keys":[{"kty":"RSA","e":"AQAB","use":"sig","alg":"RS256","n":"keEOGuCA0bEoRd1YvoM74xB2suxCLwW1dQ5auCa2vZruAsBgHbGANjE6RRtBcF7WaKSgYvfPCtydvZAz61DmGReoSA086ap-q8CDc9P5dqffLsXU3u_fyTUdriWGYDnCliqXGYWVZ9ohOHVCLiksvVgcU02Cksvy8wlSwhYsEk2yVQZ3rFkYpDz5feokNPEq47JWJ0SltZoVZq843QR3LCh379dtNDEQ_9oGm0gDMCTRYkpoX9CmTE1QprufFAGP4GqdkzCgvuungnsiKafIm_r4fQNGSos1pb4o9VKY3tvBn7waZirUTdjR_gEvGRmWIom-vK7pBVLtWA1Be38QGQ"}]},"redirect_uris":["https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"],"registration_client_uri":"https://certification.plusauth.com/oauth/reg/1Qyq84MI9Wsd1SrnCBikW","registration_access_token":"83yiJjOYgDkJZEVVKSCxaOCPdAnJuAw0wmimBtzpaZv"}
2021-03-28 14:36:36
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 id_token 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":1616942195,"client_id":"1Qyq84MI9Wsd1SrnCBikW","client_name":"first-openid-client W0BSxEhvJpcCvhL","client_secret_expires_at":0,"client_secret":"3Pn3jpUXZcWjTBqT7ikXTy-D-WE-lmPsqCv3UKW2RqmbDlxvTpP8KZTjfKfhSehsIIIZq6IDpRHB_6JjINOwQg","contacts":["certification@oidf.org"],"jwks":{"keys":[{"kty":"RSA","e":"AQAB","use":"sig","alg":"RS256","n":"keEOGuCA0bEoRd1YvoM74xB2suxCLwW1dQ5auCa2vZruAsBgHbGANjE6RRtBcF7WaKSgYvfPCtydvZAz61DmGReoSA086ap-q8CDc9P5dqffLsXU3u_fyTUdriWGYDnCliqXGYWVZ9ohOHVCLiksvVgcU02Cksvy8wlSwhYsEk2yVQZ3rFkYpDz5feokNPEq47JWJ0SltZoVZq843QR3LCh379dtNDEQ_9oGm0gDMCTRYkpoX9CmTE1QprufFAGP4GqdkzCgvuungnsiKafIm_r4fQNGSos1pb4o9VKY3tvBn7waZirUTdjR_gEvGRmWIom-vK7pBVLtWA1Be38QGQ"}]},"redirect_uris":["https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"],"registration_client_uri":"https://certification.plusauth.com/oauth/reg/1Qyq84MI9Wsd1SrnCBikW","registration_access_token":"83yiJjOYgDkJZEVVKSCxaOCPdAnJuAw0wmimBtzpaZv"}
2021-03-28 14:36:36
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 id_token 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
1616942195
client_id
1Qyq84MI9Wsd1SrnCBikW
client_name
first-openid-client W0BSxEhvJpcCvhL
client_secret_expires_at
0
client_secret
3Pn3jpUXZcWjTBqT7ikXTy-D-WE-lmPsqCv3UKW2RqmbDlxvTpP8KZTjfKfhSehsIIIZq6IDpRHB_6JjINOwQg
contacts
[
  "certification@oidf.org"
]
jwks
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "alg": "RS256",
      "n": "keEOGuCA0bEoRd1YvoM74xB2suxCLwW1dQ5auCa2vZruAsBgHbGANjE6RRtBcF7WaKSgYvfPCtydvZAz61DmGReoSA086ap-q8CDc9P5dqffLsXU3u_fyTUdriWGYDnCliqXGYWVZ9ohOHVCLiksvVgcU02Cksvy8wlSwhYsEk2yVQZ3rFkYpDz5feokNPEq47JWJ0SltZoVZq843QR3LCh379dtNDEQ_9oGm0gDMCTRYkpoX9CmTE1QprufFAGP4GqdkzCgvuungnsiKafIm_r4fQNGSos1pb4o9VKY3tvBn7waZirUTdjR_gEvGRmWIom-vK7pBVLtWA1Be38QGQ"
    }
  ]
}
redirect_uris
[
  "https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/callback"
]
registration_client_uri
https://certification.plusauth.com/oauth/reg/1Qyq84MI9Wsd1SrnCBikW
registration_access_token
83yiJjOYgDkJZEVVKSCxaOCPdAnJuAw0wmimBtzpaZv
2021-03-28 14:36:36 SUCCESS
CallDynamicRegistrationEndpoint
Extracted dynamic registration management credentials
registration_client_uri
https://certification.plusauth.com/oauth/reg/1Qyq84MI9Wsd1SrnCBikW
registration_access_token
83yiJjOYgDkJZEVVKSCxaOCPdAnJuAw0wmimBtzpaZv
2021-03-28 14:36:36
SetScopeInClientConfigurationToOpenId
Set scope in client configuration to "openid"
scope
openid
2021-03-28 14:36:36 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:36:36 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:36:36 SUCCESS
CreateBadRedirectUri
Created redirect URI
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/Qw3zvBcBEj
2021-03-28 14:36:36
oidcc-ensure-registered-redirect-uri
Setup Done
Make request to authorization endpoint
2021-03-28 14:36:36 SUCCESS
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
client_id
1Qyq84MI9Wsd1SrnCBikW
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/Qw3zvBcBEj
scope
openid
2021-03-28 14:36:36
CreateRandomStateValue
Created state value
requested_state_length
10
state
gBkMQfi3bO
2021-03-28 14:36:36 SUCCESS
AddStateToAuthorizationEndpointRequest
Added state parameter to request
client_id
1Qyq84MI9Wsd1SrnCBikW
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/Qw3zvBcBEj
scope
openid
state
gBkMQfi3bO
2021-03-28 14:36:36
CreateRandomNonceValue
Created nonce value
requested_nonce_length
10
nonce
7J15F7rgFL
2021-03-28 14:36:36 SUCCESS
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
client_id
1Qyq84MI9Wsd1SrnCBikW
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/Qw3zvBcBEj
scope
openid
state
gBkMQfi3bO
nonce
7J15F7rgFL
2021-03-28 14:36:36 SUCCESS
SetAuthorizationEndpointRequestResponseTypeFromEnvironment
Added response_type parameter to request
client_id
1Qyq84MI9Wsd1SrnCBikW
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/Qw3zvBcBEj
scope
openid
state
gBkMQfi3bO
nonce
7J15F7rgFL
response_type
code id_token token
2021-03-28 14:36:36
SetAuthorizationEndpointRequestResponseModeToFormPost
Added response_mode parameter to request
client_id
1Qyq84MI9Wsd1SrnCBikW
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/Qw3zvBcBEj
scope
openid
state
gBkMQfi3bO
nonce
7J15F7rgFL
response_type
code id_token token
response_mode
form_post
2021-03-28 14:36:36 SUCCESS
BuildPlainRedirectToAuthorizationEndpoint
Sending to authorization endpoint
redirect_to_authorization_endpoint
https://certification.plusauth.com/oauth/auth?client_id=1Qyq84MI9Wsd1SrnCBikW&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/Qw3zvBcBEj&scope=openid&state=gBkMQfi3bO&nonce=7J15F7rgFL&response_type=code%20id_token%20token&response_mode=form_post
2021-03-28 14:36:36 REDIRECT
oidcc-ensure-registered-redirect-uri
Redirecting to authorization endpoint
redirect_to
https://certification.plusauth.com/oauth/auth?client_id=1Qyq84MI9Wsd1SrnCBikW&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/Qw3zvBcBEj&scope=openid&state=gBkMQfi3bO&nonce=7J15F7rgFL&response_type=code%20id_token%20token&response_mode=form_post
2021-03-28 14:36:36 REVIEW
ExpectRedirectUriErrorPage
Show redirect URI error page
content_type
text/html
page_source
<?xml version="1.0" encoding="UTF-8"?>
<html lang="en">
  <head>
    <script>
//<![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":"gBkMQfi3bO"} 
//]]>
    </script>
    <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>
  </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">
              gBkMQfi3bO
            </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-28 14:36:36
WebRunner
Scripted browser HTTP request
browser
goToUrl
request_method
GET
request_uri
https://certification.plusauth.com/oauth/auth?client_id=1Qyq84MI9Wsd1SrnCBikW&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/Qw3zvBcBEj&scope=openid&state=gBkMQfi3bO&nonce=7J15F7rgFL&response_type=code%20id_token%20token&response_mode=form_post
2021-03-28 14:36:36 RESPONSE
WebRunner
Scripted browser HTTP response
response_content
<!DOCTYPE html>
<html lang="en">
<head><script>var PlusAuth = window.PlusAuth = {"error":"redirect_uri_mismatch","error_description":"redirect_uri did not match any of the client's registered redirect_uris","state":"gBkMQfi3bO"} </script>
  <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>
</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-28 14:36:36 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=1Qyq84MI9Wsd1SrnCBikW&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/Qw3zvBcBEj&scope=openid&state=gBkMQfi3bO&nonce=7J15F7rgFL&response_type=code%20id_token%20token&response_mode=form_post
target
//*
2021-03-28 14:36:36
BROWSER
Updated placeholder from scripted browser
placeholder
I3O6uoApx2
2021-03-28 14:36:36
BROWSER
All placeholders filled by scripted browser
2021-03-28 14:36:36 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=1Qyq84MI9Wsd1SrnCBikW&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-discovery-dynamic_client/Qw3zvBcBEj&scope=openid&state=gBkMQfi3bO&nonce=7J15F7rgFL&response_type=code%20id_token%20token&response_mode=form_post
response_status_code
400
2021-03-28 14:36:37 FINISHED
oidcc-ensure-registered-redirect-uri
Test has run to completion
testmodule_result
REVIEW
Unregister dynamically registered client
2021-03-28 14:36:37
UnregisterDynamicallyRegisteredClient
HTTP request
request_uri
https://certification.plusauth.com/oauth/reg/1Qyq84MI9Wsd1SrnCBikW
request_method
DELETE
request_headers
{
  "accept": "application/json",
  "accept-charset": "utf-8",
  "authorization": "Bearer 83yiJjOYgDkJZEVVKSCxaOCPdAnJuAw0wmimBtzpaZv",
  "content-length": "0"
}
request_body

                                
2021-03-28 14:36:37 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:36:37 GMT",
  "x-envoy-upstream-service-time": "15",
  "server": "istio-envoy"
}
response_body

                                
2021-03-28 14:36:37 SUCCESS
UnregisterDynamicallyRegisteredClient
Client successfully unregistered
2021-03-28 14:36:40
TEST-RUNNER
Alias has now been claimed by another test
alias
oidc-provider-discovery-dynamic_client
new_test_id
x6I76B7Hhfpf8do
Test Results