Test Summary

Test Results

Expand All Collapse All
All times are UTC
2020-07-28 20:06:02 INFO
TEST-RUNNER
Test instance OkMPJycLtL created
baseUrl
https://www.certification.openid.net/test/OkMPJycLtL
variant
{
  "client_auth_type": "private_key_jwt",
  "response_type": "code id_token token",
  "server_metadata": "discovery",
  "client_registration": "dynamic_client",
  "response_mode": "default"
}
alias

                                
description
node oidc-provider
planId
q2XDErBr5hpLK
config
{
  "description": "node oidc-provider",
  "server": {
    "discoveryUrl": "https://op.panva.cz/.well-known/openid-configuration",
    "login_hint": "bob@example.com"
  },
  "client": {
    "client_name": "first-openid-client"
  },
  "client2": {
    "client_name": "second-openid-client"
  },
  "browser": [
    {
      "match": "https://op.panva.cz/auth*",
      "tasks": [
        {
          "task": "Login",
          "optional": true,
          "match": "https://op.panva.cz/interaction*",
          "commands": [
            [
              "text",
              "name",
              "login",
              "foo",
              "optional"
            ],
            [
              "text",
              "name",
              "password",
              "bar",
              "optional"
            ],
            [
              "click",
              "class",
              "login-submit"
            ]
          ]
        },
        {
          "task": "Consent",
          "optional": true,
          "match": "https://op.panva.cz/interaction*",
          "commands": [
            [
              "click",
              "class",
              "login-submit"
            ]
          ]
        },
        {
          "task": "Verify Complete",
          "match": "*/test/*/callback*",
          "commands": [
            [
              "wait",
              "id",
              "submission_complete",
              10
            ]
          ]
        }
      ]
    },
    {
      "match": "https://op.panva.cz/session/end*",
      "tasks": [
        {
          "task": "Choose logout option",
          "match": "https://op.panva.cz/session/end*",
          "commands": [
            [
              "click",
              "css",
              "button[autofocus] "
            ]
          ]
        },
        {
          "task": "process user choice, wait for redirect back",
          "optional": true,
          "match": "https://op.panva.cz/session/end/confirm",
          "commands": [
            [
              "wait",
              "contains",
              "/test/*/post",
              10
            ]
          ]
        },
        {
          "task": "Verify Complete",
          "match": "*/test/*/post*"
        }
      ]
    }
  ]
}
testName
oidcc-refresh-token-rp-key-rotation
2020-07-28 20:06:02 SUCCESS
CreateRedirectUri
Created redirect URI
redirect_uri
https://www.certification.openid.net/test/OkMPJycLtL/callback
2020-07-28 20:06:02
GetDynamicServerConfiguration
HTTP request
request_uri
https://op.panva.cz/.well-known/openid-configuration
request_method
GET
request_headers
{
  "accept": "text/plain, application/json, application/cbor, application/*+json, */*",
  "content-length": "0"
}
request_body

                                
2020-07-28 20:06:02 RESPONSE
GetDynamicServerConfiguration
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "content-length": "5937",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Tue, 28 Jul 2020 20:06:02 GMT",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-xss-protection": "1; mode\u003dblock"
}
response_body
{"acr_values_supported":["urn:mace:incommon:iap:bronze"],"authorization_endpoint":"https://op.panva.cz/auth","device_authorization_endpoint":"https://op.panva.cz/device/auth","claims_parameter_supported":true,"claims_supported":["sub","address","email","email_verified","phone_number","phone_number_verified","birthdate","family_name","gender","given_name","locale","middle_name","name","nickname","picture","preferred_username","profile","updated_at","website","zoneinfo","acr","sid","auth_time","iss","amr"],"code_challenge_methods_supported":["S256"],"end_session_endpoint":"https://op.panva.cz/session/end","check_session_iframe":"https://op.panva.cz/session/check","grant_types_supported":["implicit","authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:device_code"],"id_token_signing_alg_values_supported":["HS256","HS384","HS512","none","PS256","PS384","PS512","RS256","RS384","RS512","ES256","ES256K","ES384","ES512","EdDSA"],"issuer":"https://op.panva.cz","jwks_uri":"https://op.panva.cz/jwks","registration_endpoint":"https://op.panva.cz/reg","response_modes_supported":["form_post","fragment","query","jwt","query.jwt","fragment.jwt","form_post.jwt"],"response_types_supported":["code id_token token","code id_token","code token","code","id_token token","id_token","none"],"scopes_supported":["openid","offline_access","address","email","phone","profile"],"subject_types_supported":["public","pairwise"],"token_endpoint_auth_methods_supported":["none","client_secret_basic","client_secret_jwt","client_secret_post","private_key_jwt","self_signed_tls_client_auth"],"token_endpoint_auth_signing_alg_values_supported":["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES256K","ES384","ES512","EdDSA"],"token_endpoint":"https://op.panva.cz/token","pushed_authorization_request_endpoint":"https://op.panva.cz/request","request_object_signing_alg_values_supported":["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES256K","ES384","ES512","EdDSA","none"],"request_parameter_supported":true,"request_uri_parameter_supported":true,"require_request_uri_registration":true,"userinfo_endpoint":"https://op.panva.cz/me","userinfo_signing_alg_values_supported":["HS256","HS384","HS512","none","PS256","PS384","PS512","RS256","RS384","RS512","ES256","ES256K","ES384","ES512","EdDSA"],"authorization_signing_alg_values_supported":["HS256","HS384","HS512","PS256","PS384","PS512","RS256","RS384","RS512","ES256","ES256K","ES384","ES512","EdDSA"],"introspection_endpoint":"https://op.panva.cz/token/introspection","introspection_endpoint_auth_methods_supported":["none","client_secret_basic","client_secret_jwt","client_secret_post","private_key_jwt","self_signed_tls_client_auth"],"introspection_endpoint_auth_signing_alg_values_supported":["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES256K","ES384","ES512","EdDSA"],"dpop_signing_alg_values_supported":["RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES256K","ES384","ES512","EdDSA"],"revocation_endpoint":"https://op.panva.cz/token/revocation","revocation_endpoint_auth_methods_supported":["none","client_secret_basic","client_secret_jwt","client_secret_post","private_key_jwt","self_signed_tls_client_auth"],"revocation_endpoint_auth_signing_alg_values_supported":["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES256K","ES384","ES512","EdDSA"],"id_token_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA-OAEP-384","RSA-OAEP-512","RSA1_5","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A192KW","ECDH-ES+A256KW","A128GCMKW","A192GCMKW","A256GCMKW","A128KW","A192KW","A256KW","PBES2-HS256+A128KW","PBES2-HS384+A192KW","PBES2-HS512+A256KW","dir"],"id_token_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A192CBC-HS384","A192GCM","A256CBC-HS512","A256GCM"],"userinfo_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA-OAEP-384","RSA-OAEP-512","RSA1_5","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A192KW","ECDH-ES+A256KW","A128GCMKW","A192GCMKW","A256GCMKW","A128KW","A192KW","A256KW","PBES2-HS256+A128KW","PBES2-HS384+A192KW","PBES2-HS512+A256KW","dir"],"userinfo_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A192CBC-HS384","A192GCM","A256CBC-HS512","A256GCM"],"authorization_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA-OAEP-384","RSA-OAEP-512","RSA1_5","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A192KW","ECDH-ES+A256KW","A128GCMKW","A192GCMKW","A256GCMKW","A128KW","A192KW","A256KW","PBES2-HS256+A128KW","PBES2-HS384+A192KW","PBES2-HS512+A256KW","dir"],"authorization_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A192CBC-HS384","A192GCM","A256CBC-HS512","A256GCM"],"request_object_encryption_alg_values_supported":["A128GCMKW","A192GCMKW","A256GCMKW","A128KW","A192KW","A256KW","PBES2-HS256+A128KW","PBES2-HS384+A192KW","PBES2-HS512+A256KW","dir","RSA-OAEP","RSA-OAEP-256","RSA-OAEP-384","RSA-OAEP-512","RSA1_5","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A192KW","ECDH-ES+A256KW"],"request_object_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A192CBC-HS384","A192GCM","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"],"service_documentation":"https://github.com/panva/node-oidc-provider","version":"6.28.0-a4eb4b2","mtls_endpoint_aliases":{"token_endpoint":"https://mtls.op.panva.cz/token","introspection_endpoint":"https://mtls.op.panva.cz/token/introspection","revocation_endpoint":"https://mtls.op.panva.cz/token/revocation","userinfo_endpoint":"https://mtls.op.panva.cz/me","device_authorization_endpoint":"https://mtls.op.panva.cz/device/auth","pushed_authorization_request_endpoint":"https://mtls.op.panva.cz/request"}}
2020-07-28 20:06:02
GetDynamicServerConfiguration
Downloaded server configuration
server_config_string
{"acr_values_supported":["urn:mace:incommon:iap:bronze"],"authorization_endpoint":"https://op.panva.cz/auth","device_authorization_endpoint":"https://op.panva.cz/device/auth","claims_parameter_supported":true,"claims_supported":["sub","address","email","email_verified","phone_number","phone_number_verified","birthdate","family_name","gender","given_name","locale","middle_name","name","nickname","picture","preferred_username","profile","updated_at","website","zoneinfo","acr","sid","auth_time","iss","amr"],"code_challenge_methods_supported":["S256"],"end_session_endpoint":"https://op.panva.cz/session/end","check_session_iframe":"https://op.panva.cz/session/check","grant_types_supported":["implicit","authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:device_code"],"id_token_signing_alg_values_supported":["HS256","HS384","HS512","none","PS256","PS384","PS512","RS256","RS384","RS512","ES256","ES256K","ES384","ES512","EdDSA"],"issuer":"https://op.panva.cz","jwks_uri":"https://op.panva.cz/jwks","registration_endpoint":"https://op.panva.cz/reg","response_modes_supported":["form_post","fragment","query","jwt","query.jwt","fragment.jwt","form_post.jwt"],"response_types_supported":["code id_token token","code id_token","code token","code","id_token token","id_token","none"],"scopes_supported":["openid","offline_access","address","email","phone","profile"],"subject_types_supported":["public","pairwise"],"token_endpoint_auth_methods_supported":["none","client_secret_basic","client_secret_jwt","client_secret_post","private_key_jwt","self_signed_tls_client_auth"],"token_endpoint_auth_signing_alg_values_supported":["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES256K","ES384","ES512","EdDSA"],"token_endpoint":"https://op.panva.cz/token","pushed_authorization_request_endpoint":"https://op.panva.cz/request","request_object_signing_alg_values_supported":["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES256K","ES384","ES512","EdDSA","none"],"request_parameter_supported":true,"request_uri_parameter_supported":true,"require_request_uri_registration":true,"userinfo_endpoint":"https://op.panva.cz/me","userinfo_signing_alg_values_supported":["HS256","HS384","HS512","none","PS256","PS384","PS512","RS256","RS384","RS512","ES256","ES256K","ES384","ES512","EdDSA"],"authorization_signing_alg_values_supported":["HS256","HS384","HS512","PS256","PS384","PS512","RS256","RS384","RS512","ES256","ES256K","ES384","ES512","EdDSA"],"introspection_endpoint":"https://op.panva.cz/token/introspection","introspection_endpoint_auth_methods_supported":["none","client_secret_basic","client_secret_jwt","client_secret_post","private_key_jwt","self_signed_tls_client_auth"],"introspection_endpoint_auth_signing_alg_values_supported":["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES256K","ES384","ES512","EdDSA"],"dpop_signing_alg_values_supported":["RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES256K","ES384","ES512","EdDSA"],"revocation_endpoint":"https://op.panva.cz/token/revocation","revocation_endpoint_auth_methods_supported":["none","client_secret_basic","client_secret_jwt","client_secret_post","private_key_jwt","self_signed_tls_client_auth"],"revocation_endpoint_auth_signing_alg_values_supported":["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES256K","ES384","ES512","EdDSA"],"id_token_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA-OAEP-384","RSA-OAEP-512","RSA1_5","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A192KW","ECDH-ES+A256KW","A128GCMKW","A192GCMKW","A256GCMKW","A128KW","A192KW","A256KW","PBES2-HS256+A128KW","PBES2-HS384+A192KW","PBES2-HS512+A256KW","dir"],"id_token_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A192CBC-HS384","A192GCM","A256CBC-HS512","A256GCM"],"userinfo_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA-OAEP-384","RSA-OAEP-512","RSA1_5","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A192KW","ECDH-ES+A256KW","A128GCMKW","A192GCMKW","A256GCMKW","A128KW","A192KW","A256KW","PBES2-HS256+A128KW","PBES2-HS384+A192KW","PBES2-HS512+A256KW","dir"],"userinfo_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A192CBC-HS384","A192GCM","A256CBC-HS512","A256GCM"],"authorization_encryption_alg_values_supported":["RSA-OAEP","RSA-OAEP-256","RSA-OAEP-384","RSA-OAEP-512","RSA1_5","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A192KW","ECDH-ES+A256KW","A128GCMKW","A192GCMKW","A256GCMKW","A128KW","A192KW","A256KW","PBES2-HS256+A128KW","PBES2-HS384+A192KW","PBES2-HS512+A256KW","dir"],"authorization_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A192CBC-HS384","A192GCM","A256CBC-HS512","A256GCM"],"request_object_encryption_alg_values_supported":["A128GCMKW","A192GCMKW","A256GCMKW","A128KW","A192KW","A256KW","PBES2-HS256+A128KW","PBES2-HS384+A192KW","PBES2-HS512+A256KW","dir","RSA-OAEP","RSA-OAEP-256","RSA-OAEP-384","RSA-OAEP-512","RSA1_5","ECDH-ES","ECDH-ES+A128KW","ECDH-ES+A192KW","ECDH-ES+A256KW"],"request_object_encryption_enc_values_supported":["A128CBC-HS256","A128GCM","A192CBC-HS384","A192GCM","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"],"service_documentation":"https://github.com/panva/node-oidc-provider","version":"6.28.0-a4eb4b2","mtls_endpoint_aliases":{"token_endpoint":"https://mtls.op.panva.cz/token","introspection_endpoint":"https://mtls.op.panva.cz/token/introspection","revocation_endpoint":"https://mtls.op.panva.cz/token/revocation","userinfo_endpoint":"https://mtls.op.panva.cz/me","device_authorization_endpoint":"https://mtls.op.panva.cz/device/auth","pushed_authorization_request_endpoint":"https://mtls.op.panva.cz/request"}}
2020-07-28 20:06:02 SUCCESS
GetDynamicServerConfiguration
Successfully parsed server configuration
acr_values_supported
[
  "urn:mace:incommon:iap:bronze"
]
authorization_endpoint
https://op.panva.cz/auth
device_authorization_endpoint
https://op.panva.cz/device/auth
claims_parameter_supported
true
claims_supported
[
  "sub",
  "address",
  "email",
  "email_verified",
  "phone_number",
  "phone_number_verified",
  "birthdate",
  "family_name",
  "gender",
  "given_name",
  "locale",
  "middle_name",
  "name",
  "nickname",
  "picture",
  "preferred_username",
  "profile",
  "updated_at",
  "website",
  "zoneinfo",
  "acr",
  "sid",
  "auth_time",
  "iss",
  "amr"
]
code_challenge_methods_supported
[
  "S256"
]
end_session_endpoint
https://op.panva.cz/session/end
check_session_iframe
https://op.panva.cz/session/check
grant_types_supported
[
  "implicit",
  "authorization_code",
  "refresh_token",
  "urn:ietf:params:oauth:grant-type:device_code"
]
id_token_signing_alg_values_supported
[
  "HS256",
  "HS384",
  "HS512",
  "none",
  "PS256",
  "PS384",
  "PS512",
  "RS256",
  "RS384",
  "RS512",
  "ES256",
  "ES256K",
  "ES384",
  "ES512",
  "EdDSA"
]
issuer
https://op.panva.cz
jwks_uri
https://op.panva.cz/jwks
registration_endpoint
https://op.panva.cz/reg
response_modes_supported
[
  "form_post",
  "fragment",
  "query",
  "jwt",
  "query.jwt",
  "fragment.jwt",
  "form_post.jwt"
]
response_types_supported
[
  "code id_token token",
  "code id_token",
  "code token",
  "code",
  "id_token token",
  "id_token",
  "none"
]
scopes_supported
[
  "openid",
  "offline_access",
  "address",
  "email",
  "phone",
  "profile"
]
subject_types_supported
[
  "public",
  "pairwise"
]
token_endpoint_auth_methods_supported
[
  "none",
  "client_secret_basic",
  "client_secret_jwt",
  "client_secret_post",
  "private_key_jwt",
  "self_signed_tls_client_auth"
]
token_endpoint_auth_signing_alg_values_supported
[
  "HS256",
  "HS384",
  "HS512",
  "RS256",
  "RS384",
  "RS512",
  "PS256",
  "PS384",
  "PS512",
  "ES256",
  "ES256K",
  "ES384",
  "ES512",
  "EdDSA"
]
token_endpoint
https://op.panva.cz/token
pushed_authorization_request_endpoint
https://op.panva.cz/request
request_object_signing_alg_values_supported
[
  "HS256",
  "HS384",
  "HS512",
  "RS256",
  "RS384",
  "RS512",
  "PS256",
  "PS384",
  "PS512",
  "ES256",
  "ES256K",
  "ES384",
  "ES512",
  "EdDSA",
  "none"
]
request_parameter_supported
true
request_uri_parameter_supported
true
require_request_uri_registration
true
userinfo_endpoint
https://op.panva.cz/me
userinfo_signing_alg_values_supported
[
  "HS256",
  "HS384",
  "HS512",
  "none",
  "PS256",
  "PS384",
  "PS512",
  "RS256",
  "RS384",
  "RS512",
  "ES256",
  "ES256K",
  "ES384",
  "ES512",
  "EdDSA"
]
authorization_signing_alg_values_supported
[
  "HS256",
  "HS384",
  "HS512",
  "PS256",
  "PS384",
  "PS512",
  "RS256",
  "RS384",
  "RS512",
  "ES256",
  "ES256K",
  "ES384",
  "ES512",
  "EdDSA"
]
introspection_endpoint
https://op.panva.cz/token/introspection
introspection_endpoint_auth_methods_supported
[
  "none",
  "client_secret_basic",
  "client_secret_jwt",
  "client_secret_post",
  "private_key_jwt",
  "self_signed_tls_client_auth"
]
introspection_endpoint_auth_signing_alg_values_supported
[
  "HS256",
  "HS384",
  "HS512",
  "RS256",
  "RS384",
  "RS512",
  "PS256",
  "PS384",
  "PS512",
  "ES256",
  "ES256K",
  "ES384",
  "ES512",
  "EdDSA"
]
dpop_signing_alg_values_supported
[
  "RS256",
  "RS384",
  "RS512",
  "PS256",
  "PS384",
  "PS512",
  "ES256",
  "ES256K",
  "ES384",
  "ES512",
  "EdDSA"
]
revocation_endpoint
https://op.panva.cz/token/revocation
revocation_endpoint_auth_methods_supported
[
  "none",
  "client_secret_basic",
  "client_secret_jwt",
  "client_secret_post",
  "private_key_jwt",
  "self_signed_tls_client_auth"
]
revocation_endpoint_auth_signing_alg_values_supported
[
  "HS256",
  "HS384",
  "HS512",
  "RS256",
  "RS384",
  "RS512",
  "PS256",
  "PS384",
  "PS512",
  "ES256",
  "ES256K",
  "ES384",
  "ES512",
  "EdDSA"
]
id_token_encryption_alg_values_supported
[
  "RSA-OAEP",
  "RSA-OAEP-256",
  "RSA-OAEP-384",
  "RSA-OAEP-512",
  "RSA1_5",
  "ECDH-ES",
  "ECDH-ES+A128KW",
  "ECDH-ES+A192KW",
  "ECDH-ES+A256KW",
  "A128GCMKW",
  "A192GCMKW",
  "A256GCMKW",
  "A128KW",
  "A192KW",
  "A256KW",
  "PBES2-HS256+A128KW",
  "PBES2-HS384+A192KW",
  "PBES2-HS512+A256KW",
  "dir"
]
id_token_encryption_enc_values_supported
[
  "A128CBC-HS256",
  "A128GCM",
  "A192CBC-HS384",
  "A192GCM",
  "A256CBC-HS512",
  "A256GCM"
]
userinfo_encryption_alg_values_supported
[
  "RSA-OAEP",
  "RSA-OAEP-256",
  "RSA-OAEP-384",
  "RSA-OAEP-512",
  "RSA1_5",
  "ECDH-ES",
  "ECDH-ES+A128KW",
  "ECDH-ES+A192KW",
  "ECDH-ES+A256KW",
  "A128GCMKW",
  "A192GCMKW",
  "A256GCMKW",
  "A128KW",
  "A192KW",
  "A256KW",
  "PBES2-HS256+A128KW",
  "PBES2-HS384+A192KW",
  "PBES2-HS512+A256KW",
  "dir"
]
userinfo_encryption_enc_values_supported
[
  "A128CBC-HS256",
  "A128GCM",
  "A192CBC-HS384",
  "A192GCM",
  "A256CBC-HS512",
  "A256GCM"
]
authorization_encryption_alg_values_supported
[
  "RSA-OAEP",
  "RSA-OAEP-256",
  "RSA-OAEP-384",
  "RSA-OAEP-512",
  "RSA1_5",
  "ECDH-ES",
  "ECDH-ES+A128KW",
  "ECDH-ES+A192KW",
  "ECDH-ES+A256KW",
  "A128GCMKW",
  "A192GCMKW",
  "A256GCMKW",
  "A128KW",
  "A192KW",
  "A256KW",
  "PBES2-HS256+A128KW",
  "PBES2-HS384+A192KW",
  "PBES2-HS512+A256KW",
  "dir"
]
authorization_encryption_enc_values_supported
[
  "A128CBC-HS256",
  "A128GCM",
  "A192CBC-HS384",
  "A192GCM",
  "A256CBC-HS512",
  "A256GCM"
]
request_object_encryption_alg_values_supported
[
  "A128GCMKW",
  "A192GCMKW",
  "A256GCMKW",
  "A128KW",
  "A192KW",
  "A256KW",
  "PBES2-HS256+A128KW",
  "PBES2-HS384+A192KW",
  "PBES2-HS512+A256KW",
  "dir",
  "RSA-OAEP",
  "RSA-OAEP-256",
  "RSA-OAEP-384",
  "RSA-OAEP-512",
  "RSA1_5",
  "ECDH-ES",
  "ECDH-ES+A128KW",
  "ECDH-ES+A192KW",
  "ECDH-ES+A256KW"
]
request_object_encryption_enc_values_supported
[
  "A128CBC-HS256",
  "A128GCM",
  "A192CBC-HS384",
  "A192GCM",
  "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"
]
service_documentation
https://github.com/panva/node-oidc-provider
version
6.28.0-a4eb4b2
mtls_endpoint_aliases
{
  "token_endpoint": "https://mtls.op.panva.cz/token",
  "introspection_endpoint": "https://mtls.op.panva.cz/token/introspection",
  "revocation_endpoint": "https://mtls.op.panva.cz/token/revocation",
  "userinfo_endpoint": "https://mtls.op.panva.cz/me",
  "device_authorization_endpoint": "https://mtls.op.panva.cz/device/auth",
  "pushed_authorization_request_endpoint": "https://mtls.op.panva.cz/request"
}
2020-07-28 20:06:02 SUCCESS
CheckServerConfiguration
Found required server configuration keys
required
[
  "authorization_endpoint",
  "token_endpoint",
  "issuer"
]
2020-07-28 20:06:02 SUCCESS
ExtractTLSTestValuesFromServerConfiguration
Extracted TLS information from authorization server configuration
registration_endpoint
{
  "testHost": "op.panva.cz",
  "testPort": 443
}
authorization_endpoint
{
  "testHost": "op.panva.cz",
  "testPort": 443
}
token_endpoint
{
  "testHost": "op.panva.cz",
  "testPort": 443
}
userinfo_endpoint
{
  "testHost": "op.panva.cz",
  "testPort": 443
}
2020-07-28 20:06:02
FetchServerKeys
Fetching server key
jwks_uri
https://op.panva.cz/jwks
2020-07-28 20:06:02
FetchServerKeys
HTTP request
request_uri
https://op.panva.cz/jwks
request_method
GET
request_headers
{
  "accept": "text/plain, application/json, application/cbor, application/*+json, */*",
  "content-length": "0"
}
request_body

                                
2020-07-28 20:06:03 RESPONSE
FetchServerKeys
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "content-length": "2810",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Tue, 28 Jul 2020 20:06:03 GMT",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-xss-protection": "1; mode\u003dblock"
}
response_body
{"keys":[{"e":"AQAB","n":"xwQ72P9z9OYshiQ-ntDYaPnnfwG6u9JAdLMZ5o0dmjlcyrvwQRdoFIKPnO65Q8mh6F_LDSxjxa2Yzo_wdjhbPZLjfUJXgCzm54cClXzT5twzo7lzoAfaJlkTsoZc2HFWqmcri0BuzmTFLZx2Q7wYBm0pXHmQKF0V-C1O6NWfd4mfBhbM-I1tHYSpAMgarSm22WDMDx-WWI7TEzy2QhaBVaENW9BKaKkJklocAZCxk18WhR0fckIGiWiSM5FcU1PY2jfGsTmX505Ub7P5Dz75Ygqrutd5tFrcqyPAtPTFDk8X1InxkkUwpP3nFU5o50DGhwQolGYKPGtQ-ZtmbOfcWQ","kty":"RSA","kid":"r1LkbBo3925Rb2ZFFrKyU3MVex9T2817Kx0vbi6i_Kc","use":"sig"},{"e":"AQAB","n":"mXauIvyeUFA74P2vcmgAWSCMw6CP6-MJ6EvFuRARfLLJEi49AzQvJl_4pwDvLkZcCqS7OqPE1ufNyDH6oQPEc7JuukHMY02EgwqHjJ6GG6FQqJuiWlKB_l-7c9y9r4bh4r58xdZc6T5dFVSNT2VcIVoSjq9VmzwpaTKCUyVeZYHZhnLfWMm9rKU5WSz75siG-_jbudItsfhEwA59kvi4So2IV9TxHwW50i4IcTB1gXwG1olNgiX3-Mq1Iw5VGPzMo2hQXI3q1y-ZjhSwhvG5dje9J8htBEWdVYk4f6cv19IE9gEx7T-2vIVw5FCpAmmfFuRebec49c7zjfr0EyTI4w","kty":"RSA","kid":"w5kPRdJWODnYjihMgqs0tHkKk-e5OxU4DnSCZDkF_h0","use":"enc"},{"crv":"P-256","x":"FWZ9rSkLt6Dx9E3pxLybhdM6xgR5obGsj5_pqmnz5J4","y":"_n8G69C-A2Xl4xUW2lF0i8ZGZnk_KPYrhv4GbTGu5G4","kty":"EC","kid":"MFZeG102dQiqbANoaMlW_Jmf7fOZmtRsHt77JFhTpF0","use":"sig"},{"crv":"P-256","x":"Eb3RtGgBGOEz33yu46aha_RU6pyBaYNlu6SawlWGGHQ","y":"tUncttzF6Ud4Abfn1N2A1Rz2MBbJSdI0zuKS28BNb-U","kty":"EC","kid":"mlSUkq-ELqZiWl9zs9ZKkbcjIvgajGgnXfPWUZn9lEc","use":"enc"},{"crv":"secp256k1","x":"KDAUHh_SpgROXXAq8IFs9B9lGNB9VP4RwebeAO2tBao","y":"wr3L1dZyUCrS4H18fDYy5hcvGTCp05tiiBy0ZUG8Qs4","kty":"EC","kid":"vl5k1biVlGOHeu2XiLg_0qrIVdoFdM0POWeeCl-QMsY","use":"sig"},{"crv":"P-384","x":"P1npwyTJ2p20D9_r2u31DU7tfDEufaVcSJJcDOuO6QyqrXvjyMvf8e5xv3XxE39l","y":"tmq2S12MVdKUQTmd0AxVEOji1ihR_vZAhTLKojD2XW_2EJH7ydiaz2oxrnkC0mvI","kty":"EC","kid":"rqHXKVLLF2RxqFgXWfEZE578gM-IhelOjugVfb_BMZ4","use":"sig"},{"crv":"P-384","x":"UhkqvxbxMCGtkg_-6W0gqkr21fgY3LSaNbquU7CYEDwBwGCd6iK6Bu5PVUxraulY","y":"CXrg3mxUkN5D4bPfiLfnD1jMYGSDxn2Zeh-8_OOstX21WNZJ9_i-iFZR3pIXyH0z","kty":"EC","kid":"rV1Hjt_79O_m1oJ7Jz0QgKHDa2iwb8p4kvMU0L99wjg","use":"enc"},{"crv":"P-521","x":"AIjEl5H8w2Rf_iqIP8WT7v5-FlBlBGYy5sMJs1XOxWz4RRARIEOemEY45g10sEPzZ4qe7oyjCUDK5FY1WwjRvgHK","y":"AaKN94cn1ApvvfpOWO9VpJm-lLzOUR8XxOrKYfPqcLs0zEqSPiGdWA5CoNL5ck1q-CXD09ysQSmNkzFGaig2Mnop","kty":"EC","kid":"RG_hu6lggazoCOu2wsrn3icSvhAXuGyL55f2GAaH2NA","use":"sig"},{"crv":"P-521","x":"AXFcu6lqcxoyFUU14xTw0I5cfCR2q0jqOXwU_EKjA5mIxUpue58IIrfrIh4IauV3co2SziD6Uf1SWe8l11Y4-BoJ","y":"AREzsMJu3VveUPMaJ2QWmjucwzZH4FqufXzS2IW-MGqViyDNTg2BgX-2VCJvdTo0zbhvRvBC1ghJNrVnH5M92JQ6","kty":"EC","kid":"MPcTmIIPYRnLt9s_TdBrpV27HcNVDi9aZpB0eJvAxzE","use":"enc"},{"crv":"Ed25519","x":"lDkysGJKRmJeUp8ncTyGraHPHHiIfdxSajxGm7Srla8","kty":"OKP","kid":"CLjPrbijCB2z9dScRNpM1mSGOQVOIByTmd18Ft2eiAQ","use":"sig"},{"crv":"Ed448","x":"BG1zKFg6A_Rzix4pA08oYN5xHqhKIiREXZ59NZoA8p3xhgjh-tm8nc-6udtiL5ZNhWDbnRSq4jQA","kty":"OKP","kid":"kU2PiegZOPUKcsJATItJArz18oWWfEH-Ma52K_8nGaE","use":"sig"}]}
2020-07-28 20:06:03
FetchServerKeys
Found JWK set string
jwk_string
{"keys":[{"e":"AQAB","n":"xwQ72P9z9OYshiQ-ntDYaPnnfwG6u9JAdLMZ5o0dmjlcyrvwQRdoFIKPnO65Q8mh6F_LDSxjxa2Yzo_wdjhbPZLjfUJXgCzm54cClXzT5twzo7lzoAfaJlkTsoZc2HFWqmcri0BuzmTFLZx2Q7wYBm0pXHmQKF0V-C1O6NWfd4mfBhbM-I1tHYSpAMgarSm22WDMDx-WWI7TEzy2QhaBVaENW9BKaKkJklocAZCxk18WhR0fckIGiWiSM5FcU1PY2jfGsTmX505Ub7P5Dz75Ygqrutd5tFrcqyPAtPTFDk8X1InxkkUwpP3nFU5o50DGhwQolGYKPGtQ-ZtmbOfcWQ","kty":"RSA","kid":"r1LkbBo3925Rb2ZFFrKyU3MVex9T2817Kx0vbi6i_Kc","use":"sig"},{"e":"AQAB","n":"mXauIvyeUFA74P2vcmgAWSCMw6CP6-MJ6EvFuRARfLLJEi49AzQvJl_4pwDvLkZcCqS7OqPE1ufNyDH6oQPEc7JuukHMY02EgwqHjJ6GG6FQqJuiWlKB_l-7c9y9r4bh4r58xdZc6T5dFVSNT2VcIVoSjq9VmzwpaTKCUyVeZYHZhnLfWMm9rKU5WSz75siG-_jbudItsfhEwA59kvi4So2IV9TxHwW50i4IcTB1gXwG1olNgiX3-Mq1Iw5VGPzMo2hQXI3q1y-ZjhSwhvG5dje9J8htBEWdVYk4f6cv19IE9gEx7T-2vIVw5FCpAmmfFuRebec49c7zjfr0EyTI4w","kty":"RSA","kid":"w5kPRdJWODnYjihMgqs0tHkKk-e5OxU4DnSCZDkF_h0","use":"enc"},{"crv":"P-256","x":"FWZ9rSkLt6Dx9E3pxLybhdM6xgR5obGsj5_pqmnz5J4","y":"_n8G69C-A2Xl4xUW2lF0i8ZGZnk_KPYrhv4GbTGu5G4","kty":"EC","kid":"MFZeG102dQiqbANoaMlW_Jmf7fOZmtRsHt77JFhTpF0","use":"sig"},{"crv":"P-256","x":"Eb3RtGgBGOEz33yu46aha_RU6pyBaYNlu6SawlWGGHQ","y":"tUncttzF6Ud4Abfn1N2A1Rz2MBbJSdI0zuKS28BNb-U","kty":"EC","kid":"mlSUkq-ELqZiWl9zs9ZKkbcjIvgajGgnXfPWUZn9lEc","use":"enc"},{"crv":"secp256k1","x":"KDAUHh_SpgROXXAq8IFs9B9lGNB9VP4RwebeAO2tBao","y":"wr3L1dZyUCrS4H18fDYy5hcvGTCp05tiiBy0ZUG8Qs4","kty":"EC","kid":"vl5k1biVlGOHeu2XiLg_0qrIVdoFdM0POWeeCl-QMsY","use":"sig"},{"crv":"P-384","x":"P1npwyTJ2p20D9_r2u31DU7tfDEufaVcSJJcDOuO6QyqrXvjyMvf8e5xv3XxE39l","y":"tmq2S12MVdKUQTmd0AxVEOji1ihR_vZAhTLKojD2XW_2EJH7ydiaz2oxrnkC0mvI","kty":"EC","kid":"rqHXKVLLF2RxqFgXWfEZE578gM-IhelOjugVfb_BMZ4","use":"sig"},{"crv":"P-384","x":"UhkqvxbxMCGtkg_-6W0gqkr21fgY3LSaNbquU7CYEDwBwGCd6iK6Bu5PVUxraulY","y":"CXrg3mxUkN5D4bPfiLfnD1jMYGSDxn2Zeh-8_OOstX21WNZJ9_i-iFZR3pIXyH0z","kty":"EC","kid":"rV1Hjt_79O_m1oJ7Jz0QgKHDa2iwb8p4kvMU0L99wjg","use":"enc"},{"crv":"P-521","x":"AIjEl5H8w2Rf_iqIP8WT7v5-FlBlBGYy5sMJs1XOxWz4RRARIEOemEY45g10sEPzZ4qe7oyjCUDK5FY1WwjRvgHK","y":"AaKN94cn1ApvvfpOWO9VpJm-lLzOUR8XxOrKYfPqcLs0zEqSPiGdWA5CoNL5ck1q-CXD09ysQSmNkzFGaig2Mnop","kty":"EC","kid":"RG_hu6lggazoCOu2wsrn3icSvhAXuGyL55f2GAaH2NA","use":"sig"},{"crv":"P-521","x":"AXFcu6lqcxoyFUU14xTw0I5cfCR2q0jqOXwU_EKjA5mIxUpue58IIrfrIh4IauV3co2SziD6Uf1SWe8l11Y4-BoJ","y":"AREzsMJu3VveUPMaJ2QWmjucwzZH4FqufXzS2IW-MGqViyDNTg2BgX-2VCJvdTo0zbhvRvBC1ghJNrVnH5M92JQ6","kty":"EC","kid":"MPcTmIIPYRnLt9s_TdBrpV27HcNVDi9aZpB0eJvAxzE","use":"enc"},{"crv":"Ed25519","x":"lDkysGJKRmJeUp8ncTyGraHPHHiIfdxSajxGm7Srla8","kty":"OKP","kid":"CLjPrbijCB2z9dScRNpM1mSGOQVOIByTmd18Ft2eiAQ","use":"sig"},{"crv":"Ed448","x":"BG1zKFg6A_Rzix4pA08oYN5xHqhKIiREXZ59NZoA8p3xhgjh-tm8nc-6udtiL5ZNhWDbnRSq4jQA","kty":"OKP","kid":"kU2PiegZOPUKcsJATItJArz18oWWfEH-Ma52K_8nGaE","use":"sig"}]}
2020-07-28 20:06:03 SUCCESS
FetchServerKeys
Found server JWK set
server_jwks
{
  "keys": [
    {
      "e": "AQAB",
      "n": "xwQ72P9z9OYshiQ-ntDYaPnnfwG6u9JAdLMZ5o0dmjlcyrvwQRdoFIKPnO65Q8mh6F_LDSxjxa2Yzo_wdjhbPZLjfUJXgCzm54cClXzT5twzo7lzoAfaJlkTsoZc2HFWqmcri0BuzmTFLZx2Q7wYBm0pXHmQKF0V-C1O6NWfd4mfBhbM-I1tHYSpAMgarSm22WDMDx-WWI7TEzy2QhaBVaENW9BKaKkJklocAZCxk18WhR0fckIGiWiSM5FcU1PY2jfGsTmX505Ub7P5Dz75Ygqrutd5tFrcqyPAtPTFDk8X1InxkkUwpP3nFU5o50DGhwQolGYKPGtQ-ZtmbOfcWQ",
      "kty": "RSA",
      "kid": "r1LkbBo3925Rb2ZFFrKyU3MVex9T2817Kx0vbi6i_Kc",
      "use": "sig"
    },
    {
      "e": "AQAB",
      "n": "mXauIvyeUFA74P2vcmgAWSCMw6CP6-MJ6EvFuRARfLLJEi49AzQvJl_4pwDvLkZcCqS7OqPE1ufNyDH6oQPEc7JuukHMY02EgwqHjJ6GG6FQqJuiWlKB_l-7c9y9r4bh4r58xdZc6T5dFVSNT2VcIVoSjq9VmzwpaTKCUyVeZYHZhnLfWMm9rKU5WSz75siG-_jbudItsfhEwA59kvi4So2IV9TxHwW50i4IcTB1gXwG1olNgiX3-Mq1Iw5VGPzMo2hQXI3q1y-ZjhSwhvG5dje9J8htBEWdVYk4f6cv19IE9gEx7T-2vIVw5FCpAmmfFuRebec49c7zjfr0EyTI4w",
      "kty": "RSA",
      "kid": "w5kPRdJWODnYjihMgqs0tHkKk-e5OxU4DnSCZDkF_h0",
      "use": "enc"
    },
    {
      "crv": "P-256",
      "x": "FWZ9rSkLt6Dx9E3pxLybhdM6xgR5obGsj5_pqmnz5J4",
      "y": "_n8G69C-A2Xl4xUW2lF0i8ZGZnk_KPYrhv4GbTGu5G4",
      "kty": "EC",
      "kid": "MFZeG102dQiqbANoaMlW_Jmf7fOZmtRsHt77JFhTpF0",
      "use": "sig"
    },
    {
      "crv": "P-256",
      "x": "Eb3RtGgBGOEz33yu46aha_RU6pyBaYNlu6SawlWGGHQ",
      "y": "tUncttzF6Ud4Abfn1N2A1Rz2MBbJSdI0zuKS28BNb-U",
      "kty": "EC",
      "kid": "mlSUkq-ELqZiWl9zs9ZKkbcjIvgajGgnXfPWUZn9lEc",
      "use": "enc"
    },
    {
      "crv": "secp256k1",
      "x": "KDAUHh_SpgROXXAq8IFs9B9lGNB9VP4RwebeAO2tBao",
      "y": "wr3L1dZyUCrS4H18fDYy5hcvGTCp05tiiBy0ZUG8Qs4",
      "kty": "EC",
      "kid": "vl5k1biVlGOHeu2XiLg_0qrIVdoFdM0POWeeCl-QMsY",
      "use": "sig"
    },
    {
      "crv": "P-384",
      "x": "P1npwyTJ2p20D9_r2u31DU7tfDEufaVcSJJcDOuO6QyqrXvjyMvf8e5xv3XxE39l",
      "y": "tmq2S12MVdKUQTmd0AxVEOji1ihR_vZAhTLKojD2XW_2EJH7ydiaz2oxrnkC0mvI",
      "kty": "EC",
      "kid": "rqHXKVLLF2RxqFgXWfEZE578gM-IhelOjugVfb_BMZ4",
      "use": "sig"
    },
    {
      "crv": "P-384",
      "x": "UhkqvxbxMCGtkg_-6W0gqkr21fgY3LSaNbquU7CYEDwBwGCd6iK6Bu5PVUxraulY",
      "y": "CXrg3mxUkN5D4bPfiLfnD1jMYGSDxn2Zeh-8_OOstX21WNZJ9_i-iFZR3pIXyH0z",
      "kty": "EC",
      "kid": "rV1Hjt_79O_m1oJ7Jz0QgKHDa2iwb8p4kvMU0L99wjg",
      "use": "enc"
    },
    {
      "crv": "P-521",
      "x": "AIjEl5H8w2Rf_iqIP8WT7v5-FlBlBGYy5sMJs1XOxWz4RRARIEOemEY45g10sEPzZ4qe7oyjCUDK5FY1WwjRvgHK",
      "y": "AaKN94cn1ApvvfpOWO9VpJm-lLzOUR8XxOrKYfPqcLs0zEqSPiGdWA5CoNL5ck1q-CXD09ysQSmNkzFGaig2Mnop",
      "kty": "EC",
      "kid": "RG_hu6lggazoCOu2wsrn3icSvhAXuGyL55f2GAaH2NA",
      "use": "sig"
    },
    {
      "crv": "P-521",
      "x": "AXFcu6lqcxoyFUU14xTw0I5cfCR2q0jqOXwU_EKjA5mIxUpue58IIrfrIh4IauV3co2SziD6Uf1SWe8l11Y4-BoJ",
      "y": "AREzsMJu3VveUPMaJ2QWmjucwzZH4FqufXzS2IW-MGqViyDNTg2BgX-2VCJvdTo0zbhvRvBC1ghJNrVnH5M92JQ6",
      "kty": "EC",
      "kid": "MPcTmIIPYRnLt9s_TdBrpV27HcNVDi9aZpB0eJvAxzE",
      "use": "enc"
    },
    {
      "crv": "Ed25519",
      "x": "lDkysGJKRmJeUp8ncTyGraHPHHiIfdxSajxGm7Srla8",
      "kty": "OKP",
      "kid": "CLjPrbijCB2z9dScRNpM1mSGOQVOIByTmd18Ft2eiAQ",
      "use": "sig"
    },
    {
      "crv": "Ed448",
      "x": "BG1zKFg6A_Rzix4pA08oYN5xHqhKIiREXZ59NZoA8p3xhgjh-tm8nc-6udtiL5ZNhWDbnRSq4jQA",
      "kty": "OKP",
      "kid": "kU2PiegZOPUKcsJATItJArz18oWWfEH-Ma52K_8nGaE",
      "use": "sig"
    }
  ]
}
2020-07-28 20:06:03 SUCCESS
CheckServerKeysIsValid
Server JWKs is valid
server_jwks
{
  "keys": [
    {
      "e": "AQAB",
      "n": "xwQ72P9z9OYshiQ-ntDYaPnnfwG6u9JAdLMZ5o0dmjlcyrvwQRdoFIKPnO65Q8mh6F_LDSxjxa2Yzo_wdjhbPZLjfUJXgCzm54cClXzT5twzo7lzoAfaJlkTsoZc2HFWqmcri0BuzmTFLZx2Q7wYBm0pXHmQKF0V-C1O6NWfd4mfBhbM-I1tHYSpAMgarSm22WDMDx-WWI7TEzy2QhaBVaENW9BKaKkJklocAZCxk18WhR0fckIGiWiSM5FcU1PY2jfGsTmX505Ub7P5Dz75Ygqrutd5tFrcqyPAtPTFDk8X1InxkkUwpP3nFU5o50DGhwQolGYKPGtQ-ZtmbOfcWQ",
      "kty": "RSA",
      "kid": "r1LkbBo3925Rb2ZFFrKyU3MVex9T2817Kx0vbi6i_Kc",
      "use": "sig"
    },
    {
      "e": "AQAB",
      "n": "mXauIvyeUFA74P2vcmgAWSCMw6CP6-MJ6EvFuRARfLLJEi49AzQvJl_4pwDvLkZcCqS7OqPE1ufNyDH6oQPEc7JuukHMY02EgwqHjJ6GG6FQqJuiWlKB_l-7c9y9r4bh4r58xdZc6T5dFVSNT2VcIVoSjq9VmzwpaTKCUyVeZYHZhnLfWMm9rKU5WSz75siG-_jbudItsfhEwA59kvi4So2IV9TxHwW50i4IcTB1gXwG1olNgiX3-Mq1Iw5VGPzMo2hQXI3q1y-ZjhSwhvG5dje9J8htBEWdVYk4f6cv19IE9gEx7T-2vIVw5FCpAmmfFuRebec49c7zjfr0EyTI4w",
      "kty": "RSA",
      "kid": "w5kPRdJWODnYjihMgqs0tHkKk-e5OxU4DnSCZDkF_h0",
      "use": "enc"
    },
    {
      "crv": "P-256",
      "x": "FWZ9rSkLt6Dx9E3pxLybhdM6xgR5obGsj5_pqmnz5J4",
      "y": "_n8G69C-A2Xl4xUW2lF0i8ZGZnk_KPYrhv4GbTGu5G4",
      "kty": "EC",
      "kid": "MFZeG102dQiqbANoaMlW_Jmf7fOZmtRsHt77JFhTpF0",
      "use": "sig"
    },
    {
      "crv": "P-256",
      "x": "Eb3RtGgBGOEz33yu46aha_RU6pyBaYNlu6SawlWGGHQ",
      "y": "tUncttzF6Ud4Abfn1N2A1Rz2MBbJSdI0zuKS28BNb-U",
      "kty": "EC",
      "kid": "mlSUkq-ELqZiWl9zs9ZKkbcjIvgajGgnXfPWUZn9lEc",
      "use": "enc"
    },
    {
      "crv": "secp256k1",
      "x": "KDAUHh_SpgROXXAq8IFs9B9lGNB9VP4RwebeAO2tBao",
      "y": "wr3L1dZyUCrS4H18fDYy5hcvGTCp05tiiBy0ZUG8Qs4",
      "kty": "EC",
      "kid": "vl5k1biVlGOHeu2XiLg_0qrIVdoFdM0POWeeCl-QMsY",
      "use": "sig"
    },
    {
      "crv": "P-384",
      "x": "P1npwyTJ2p20D9_r2u31DU7tfDEufaVcSJJcDOuO6QyqrXvjyMvf8e5xv3XxE39l",
      "y": "tmq2S12MVdKUQTmd0AxVEOji1ihR_vZAhTLKojD2XW_2EJH7ydiaz2oxrnkC0mvI",
      "kty": "EC",
      "kid": "rqHXKVLLF2RxqFgXWfEZE578gM-IhelOjugVfb_BMZ4",
      "use": "sig"
    },
    {
      "crv": "P-384",
      "x": "UhkqvxbxMCGtkg_-6W0gqkr21fgY3LSaNbquU7CYEDwBwGCd6iK6Bu5PVUxraulY",
      "y": "CXrg3mxUkN5D4bPfiLfnD1jMYGSDxn2Zeh-8_OOstX21WNZJ9_i-iFZR3pIXyH0z",
      "kty": "EC",
      "kid": "rV1Hjt_79O_m1oJ7Jz0QgKHDa2iwb8p4kvMU0L99wjg",
      "use": "enc"
    },
    {
      "crv": "P-521",
      "x": "AIjEl5H8w2Rf_iqIP8WT7v5-FlBlBGYy5sMJs1XOxWz4RRARIEOemEY45g10sEPzZ4qe7oyjCUDK5FY1WwjRvgHK",
      "y": "AaKN94cn1ApvvfpOWO9VpJm-lLzOUR8XxOrKYfPqcLs0zEqSPiGdWA5CoNL5ck1q-CXD09ysQSmNkzFGaig2Mnop",
      "kty": "EC",
      "kid": "RG_hu6lggazoCOu2wsrn3icSvhAXuGyL55f2GAaH2NA",
      "use": "sig"
    },
    {
      "crv": "P-521",
      "x": "AXFcu6lqcxoyFUU14xTw0I5cfCR2q0jqOXwU_EKjA5mIxUpue58IIrfrIh4IauV3co2SziD6Uf1SWe8l11Y4-BoJ",
      "y": "AREzsMJu3VveUPMaJ2QWmjucwzZH4FqufXzS2IW-MGqViyDNTg2BgX-2VCJvdTo0zbhvRvBC1ghJNrVnH5M92JQ6",
      "kty": "EC",
      "kid": "MPcTmIIPYRnLt9s_TdBrpV27HcNVDi9aZpB0eJvAxzE",
      "use": "enc"
    },
    {
      "crv": "Ed25519",
      "x": "lDkysGJKRmJeUp8ncTyGraHPHHiIfdxSajxGm7Srla8",
      "kty": "OKP",
      "kid": "CLjPrbijCB2z9dScRNpM1mSGOQVOIByTmd18Ft2eiAQ",
      "use": "sig"
    },
    {
      "crv": "Ed448",
      "x": "BG1zKFg6A_Rzix4pA08oYN5xHqhKIiREXZ59NZoA8p3xhgjh-tm8nc-6udtiL5ZNhWDbnRSq4jQA",
      "kty": "OKP",
      "kid": "kU2PiegZOPUKcsJATItJArz18oWWfEH-Ma52K_8nGaE",
      "use": "sig"
    }
  ]
}
2020-07-28 20:06:03 SUCCESS
ValidateServerJWKs
Valid server JWKs
2020-07-28 20:06:03 SUCCESS
CheckForKeyIdInServerJWKs
All keys contain kids
2020-07-28 20:06:04 SUCCESS
CheckDistinctKeyIdValueInServerJWKs
Distinct 'kid' value in all keys of server_jwks
see
https://bitbucket.org/openid/connect/issues/1127
2020-07-28 20:06:04 SUCCESS
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
2020-07-28 20:06:04 SUCCESS
GetDynamicClientConfiguration
Created dynamic_client_registration_template object from the client configuration.
client_name
first-openid-client
2020-07-28 20:06:04 SUCCESS
CreateJwksUri
Created JWKs URI
jwks_uri
https://www.certification.openid.net/test/OkMPJycLtL/jwks
2020-07-28 20:06:04 SUCCESS
GenerateRS256ClientJWKsWithKeyID
Generated client JWKs
client_jwks
{
  "keys": [
    {
      "p": "_Dq6CeS9tDGqG71clQacJwHWqkumZ_yRvhlHIKdQnHxhLKbf0URX4Zm4_DqxZJTWcLpNkyfgIvjdjH8JgnT9a3iBIgvfoz_zd_VOODO3ZA40L9pRD0aiK89AKPgBQ69IZuuR8Eh2g6xjRug3NYITGsHDhxs7fLxYgrvtGmjSGQs",
      "kty": "RSA",
      "q": "rbiCVBN077WUtVcxH2-FPewwzrv2kS0gvUBpu_-eRHo4yDLO5g0SMfsazAIsuII6aX3GkktFEawNXuqPgNmg8r-rIcIPs4O1hVQcq55O7ZFt8IIYeULNxT5_Cdfw1x73wIdLIAx6tY5mEecFdOHxz-DJNi7rWSbEXllTJaDTDnM",
      "d": "RpCsInaJRhrPS0OiH6WnXaU--LzxLb-ZwPX6fSIS8JT2wp-_Di8xMZ_wxBkwRlwLFjfkN1MLpWia5Gcw1gYhmUo77nXGP9Sbu-OQQENB6K7nfoCIGnqCtnuzvk5t3apg2X_8RNrHPCTfPG69tizzST_Wbn0-BRtJb1SoJJa6uh9jn4JHC1OQCXSGnsGbapbVy_MuxZdthOHX3zihIL-GJqvz8fgXb84Yg9VbJRPjGx-gCHKdQa0Mo7FREMybdnB5tqjJL_ufYlOT2kUUWihg5q21H1_PeM9efdM_ZS4gzEKlpMMhBPIBCTPGanwriYP5F82InWUmUIt_Efq0JO54_Q",
      "e": "AQAB",
      "use": "sig",
      "kid": "yeKlf1IaE0XfKz7wnEN21CmAw2-Jq6tjiHMgnCxVmLs",
      "qi": "LmYTfkJtIj3CtHsWB5vK4AZWqvclIF-54G_xs7IXgf3aOnNGTlUPl4t248UFddZ-eH-GUiJIgNcPEnatXMW_X3fi6TOTuAFAxpwvyzNNiELt9ZBAt3Zax4iblX3uyNoquEzibvtVgLiax5LlCF0PkPpkrMAr4av_WS-H5rNjmi0",
      "dp": "ipMhPupDJ0rZ8J-ay-1zwSKLc8hYRm1HDTAKGfCSo0bahJOyB-EKf1HbhgghCeeT4R8aG60ewVgFMHljGh94U6FDIRdw6Nnrw44sSUhwizIajefd_QyLcJJO57NJzovwtUrbRS4qnrEJYh2Wp3ktUdf-uq3FgwRfhIQHAilwtH0",
      "alg": "RS256",
      "dq": "GXBkfWVgAV5IyYlcIytUiq3Us-FoiPffzHbrROF4zrRLLl3qWFvfpzwLP4at_9LqNNp7Qp8NHTphtt2IaCj2XbXdnJLrc7E82qpnjGYhTr62J7sVVGSI93JgbhOWLBpX03S8dpP9QCr7HXIEJYqUu4lCTdHvGt4HcX2JJIB5h6s",
      "n": "qyl6Vw-aPx87lnpyWqv_FXKCTChhgJvprsKqEIKtZTMXaIpZI229qkOAlUQKzAid6OQGZcV-JHr8Zk9Q4Qk3JbyR4X0CCIkT1eMkG1vNl-ramOeghbu8W_dq_8ihfVg5kVxss_l7b-h1bJwNMpehPBwBKLXOu_lHK9Jm9xLR6cK_qlrG6KfH44ldglmOo80qtH0LCNPtoo1ICQ4znZGWut-GwJMXZEPKs054qbSC71q1x5S1DYV5BYDk5RlLfwPwgwdXDhi4Cq7WSXlHUVNjNZjR_HDzXwuidkLVi9iA6PIDr2VdzHBY0hQb6te4nAK-O94fX0wY4XPy-dkBF9DZ8Q"
    }
  ]
}
public_client_jwks
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "kid": "yeKlf1IaE0XfKz7wnEN21CmAw2-Jq6tjiHMgnCxVmLs",
      "alg": "RS256",
      "n": "qyl6Vw-aPx87lnpyWqv_FXKCTChhgJvprsKqEIKtZTMXaIpZI229qkOAlUQKzAid6OQGZcV-JHr8Zk9Q4Qk3JbyR4X0CCIkT1eMkG1vNl-ramOeghbu8W_dq_8ihfVg5kVxss_l7b-h1bJwNMpehPBwBKLXOu_lHK9Jm9xLR6cK_qlrG6KfH44ldglmOo80qtH0LCNPtoo1ICQ4znZGWut-GwJMXZEPKs054qbSC71q1x5S1DYV5BYDk5RlLfwPwgwdXDhi4Cq7WSXlHUVNjNZjR_HDzXwuidkLVi9iA6PIDr2VdzHBY0hQb6te4nAK-O94fX0wY4XPy-dkBF9DZ8Q"
    }
  ]
}
2020-07-28 20:06:04 SUCCESS
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
see
https://bitbucket.org/openid/connect/issues/1127
2020-07-28 20:06:04 SUCCESS
CreateDynamicRegistrationRequest
Created dynamic registration request
client_name
first-openid-client OkMPJycLtL
2020-07-28 20:06:04
AddAuthorizationCodeGrantTypeToDynamicRegistrationRequest
Added 'authorization_code' to 'grant_types'
grant_types
[
  "authorization_code"
]
2020-07-28 20:06:04
AddImplicitGrantTypeToDynamicRegistrationRequest
Added 'implicit' to 'grant_types'
grant_types
[
  "authorization_code",
  "implicit"
]
2020-07-28 20:06:04
AddJwksUriToDynamicRegistrationRequest
Added jwks_uri to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client OkMPJycLtL",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks_uri": "https://www.certification.openid.net/test/OkMPJycLtL/jwks"
}
2020-07-28 20:06:04
AddTokenEndpointAuthMethodToDynamicRegistrationRequestFromEnvironment
Added token endpoint auth method to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client OkMPJycLtL",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks_uri": "https://www.certification.openid.net/test/OkMPJycLtL/jwks",
  "token_endpoint_auth_method": "private_key_jwt"
}
2020-07-28 20:06:04
AddResponseTypesArrayToDynamicRegistrationRequestFromEnvironment
Added response_types array to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client OkMPJycLtL",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks_uri": "https://www.certification.openid.net/test/OkMPJycLtL/jwks",
  "token_endpoint_auth_method": "private_key_jwt",
  "response_types": [
    "code id_token token"
  ]
}
2020-07-28 20:06:04
AddRedirectUriToDynamicRegistrationRequest
Added redirect_uris array to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client OkMPJycLtL",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks_uri": "https://www.certification.openid.net/test/OkMPJycLtL/jwks",
  "token_endpoint_auth_method": "private_key_jwt",
  "response_types": [
    "code id_token token"
  ],
  "redirect_uris": [
    "https://www.certification.openid.net/test/OkMPJycLtL/callback"
  ]
}
2020-07-28 20:06:04
AddContactsToDynamicRegistrationRequest
Added contacts array to dynamic registration request
dynamic_registration_request
{
  "client_name": "first-openid-client OkMPJycLtL",
  "grant_types": [
    "authorization_code",
    "implicit"
  ],
  "jwks_uri": "https://www.certification.openid.net/test/OkMPJycLtL/jwks",
  "token_endpoint_auth_method": "private_key_jwt",
  "response_types": [
    "code id_token token"
  ],
  "redirect_uris": [
    "https://www.certification.openid.net/test/OkMPJycLtL/callback"
  ],
  "contacts": [
    "certification@oidf.org"
  ]
}
2020-07-28 20:06:04
AddRefreshTokenGrantTypeToDynamicRegistrationRequest
Added 'refresh_token' to 'grant_types'
grant_types
[
  "authorization_code",
  "implicit",
  "refresh_token"
]
2020-07-28 20:06:04
CallDynamicRegistrationEndpoint
HTTP request
request_uri
https://op.panva.cz/reg
request_method
POST
request_headers
{
  "accept": "application/json",
  "accept-charset": "utf-8",
  "content-type": "application/json",
  "content-length": "391"
}
request_body
{"client_name":"first-openid-client OkMPJycLtL","grant_types":["authorization_code","implicit","refresh_token"],"jwks_uri":"https://www.certification.openid.net/test/OkMPJycLtL/jwks","token_endpoint_auth_method":"private_key_jwt","response_types":["code id_token token"],"redirect_uris":["https://www.certification.openid.net/test/OkMPJycLtL/callback"],"contacts":["certification@oidf.org"]}
2020-07-28 20:06:05 RESPONSE
CallDynamicRegistrationEndpoint
HTTP response
response_status_code
201 CREATED
response_status_text
Created
response_headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "1146",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Tue, 28 Jul 2020 20:06:05 GMT",
  "pragma": "no-cache",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-xss-protection": "1; mode\u003dblock"
}
response_body
{"application_type":"web","grant_types":["authorization_code","implicit","refresh_token"],"id_token_signed_response_alg":"RS256","post_logout_redirect_uris":[],"require_auth_time":false,"response_types":["code id_token token"],"subject_type":"public","token_endpoint_auth_method":"private_key_jwt","introspection_endpoint_auth_method":"private_key_jwt","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","tls_client_certificate_bound_access_tokens":false,"client_id_issued_at":1595966765,"client_id":"YI5zWbks5_FKuLgF1paR7","client_name":"first-openid-client OkMPJycLtL","contacts":["certification@oidf.org"],"jwks_uri":"https://www.certification.openid.net/test/OkMPJycLtL/jwks","redirect_uris":["https://www.certification.openid.net/test/OkMPJycLtL/callback"],"registration_client_uri":"https://op.panva.cz/reg/YI5zWbks5_FKuLgF1paR7","registration_access_token":"nA39ETe_aXpOg3QSLltCkE6BIiDcoEX2UJKGs4mH6_i"}
2020-07-28 20:06:05
CallDynamicRegistrationEndpoint
Registration endpoint response
dynamic_registration_response
{"application_type":"web","grant_types":["authorization_code","implicit","refresh_token"],"id_token_signed_response_alg":"RS256","post_logout_redirect_uris":[],"require_auth_time":false,"response_types":["code id_token token"],"subject_type":"public","token_endpoint_auth_method":"private_key_jwt","introspection_endpoint_auth_method":"private_key_jwt","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","tls_client_certificate_bound_access_tokens":false,"client_id_issued_at":1595966765,"client_id":"YI5zWbks5_FKuLgF1paR7","client_name":"first-openid-client OkMPJycLtL","contacts":["certification@oidf.org"],"jwks_uri":"https://www.certification.openid.net/test/OkMPJycLtL/jwks","redirect_uris":["https://www.certification.openid.net/test/OkMPJycLtL/callback"],"registration_client_uri":"https://op.panva.cz/reg/YI5zWbks5_FKuLgF1paR7","registration_access_token":"nA39ETe_aXpOg3QSLltCkE6BIiDcoEX2UJKGs4mH6_i"}
2020-07-28 20:06:05
CallDynamicRegistrationEndpoint
Parsed registration endpoint response
application_type
web
grant_types
[
  "authorization_code",
  "implicit",
  "refresh_token"
]
id_token_signed_response_alg
RS256
post_logout_redirect_uris
[]
require_auth_time
false
response_types
[
  "code id_token token"
]
subject_type
public
token_endpoint_auth_method
private_key_jwt
introspection_endpoint_auth_method
private_key_jwt
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
tls_client_certificate_bound_access_tokens
false
client_id_issued_at
1595966765
client_id
YI5zWbks5_FKuLgF1paR7
client_name
first-openid-client OkMPJycLtL
contacts
[
  "certification@oidf.org"
]
jwks_uri
https://www.certification.openid.net/test/OkMPJycLtL/jwks
redirect_uris
[
  "https://www.certification.openid.net/test/OkMPJycLtL/callback"
]
registration_client_uri
https://op.panva.cz/reg/YI5zWbks5_FKuLgF1paR7
registration_access_token
nA39ETe_aXpOg3QSLltCkE6BIiDcoEX2UJKGs4mH6_i
2020-07-28 20:06:05 SUCCESS
CallDynamicRegistrationEndpoint
Extracted dynamic registration management credentials
registration_client_uri
https://op.panva.cz/reg/YI5zWbks5_FKuLgF1paR7
registration_access_token
nA39ETe_aXpOg3QSLltCkE6BIiDcoEX2UJKGs4mH6_i
2020-07-28 20:06:05
SetScopeInClientConfigurationToOpenIdOfflineAccess
Set scope in client configuration to "openid offline_access" so that a refresh token is issued
scope
openid offline_access
2020-07-28 20:06:05 SUCCESS
EnsureServerConfigurationSupportsPrivateKeyJwt
Found supported private_key_jwt method
method
private_key_jwt
2020-07-28 20:06:05 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://op.panva.cz/me
2020-07-28 20:06:05
oidcc-refresh-token-rp-key-rotation
Setup Done
Make request to authorization endpoint
2020-07-28 20:06:05 SUCCESS
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
client_id
YI5zWbks5_FKuLgF1paR7
redirect_uri
https://www.certification.openid.net/test/OkMPJycLtL/callback
scope
openid offline_access
2020-07-28 20:06:05
CreateRandomStateValue
Created state value
requested_state_length
10
state
EgELaZcZ6H
2020-07-28 20:06:05 SUCCESS
AddStateToAuthorizationEndpointRequest
Added state parameter to request
client_id
YI5zWbks5_FKuLgF1paR7
redirect_uri
https://www.certification.openid.net/test/OkMPJycLtL/callback
scope
openid offline_access
state
EgELaZcZ6H
2020-07-28 20:06:05
CreateRandomNonceValue
Created nonce value
requested_nonce_length
10
nonce
o4nUpFvJUV
2020-07-28 20:06:05 SUCCESS
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
client_id
YI5zWbks5_FKuLgF1paR7
redirect_uri
https://www.certification.openid.net/test/OkMPJycLtL/callback
scope
openid offline_access
state
EgELaZcZ6H
nonce
o4nUpFvJUV
2020-07-28 20:06:05 SUCCESS
SetAuthorizationEndpointRequestResponseTypeFromEnvironment
Added response_type parameter to request
client_id
YI5zWbks5_FKuLgF1paR7
redirect_uri
https://www.certification.openid.net/test/OkMPJycLtL/callback
scope
openid offline_access
state
EgELaZcZ6H
nonce
o4nUpFvJUV
response_type
code id_token token
2020-07-28 20:06:05 SUCCESS
AddPromptConsentToAuthorizationEndpointRequestIfScopeContainsOfflineAccess
Added prompt=consent to authorization endpoint request
client_id
YI5zWbks5_FKuLgF1paR7
redirect_uri
https://www.certification.openid.net/test/OkMPJycLtL/callback
scope
openid offline_access
state
EgELaZcZ6H
nonce
o4nUpFvJUV
response_type
code id_token token
prompt
consent
2020-07-28 20:06:05 SUCCESS
BuildPlainRedirectToAuthorizationEndpoint
Sending to authorization endpoint
redirect_to_authorization_endpoint
https://op.panva.cz/auth?client_id=YI5zWbks5_FKuLgF1paR7&redirect_uri=https://www.certification.openid.net/test/OkMPJycLtL/callback&scope=openid%20offline_access&state=EgELaZcZ6H&nonce=o4nUpFvJUV&response_type=code%20id_token%20token&prompt=consent
2020-07-28 20:06:05 REDIRECT
oidcc-refresh-token-rp-key-rotation
Redirecting to authorization endpoint
redirect_to
https://op.panva.cz/auth?client_id=YI5zWbks5_FKuLgF1paR7&redirect_uri=https://www.certification.openid.net/test/OkMPJycLtL/callback&scope=openid%20offline_access&state=EgELaZcZ6H&nonce=o4nUpFvJUV&response_type=code%20id_token%20token&prompt=consent
2020-07-28 20:06:05
WebRunner
Scripted browser HTTP request
browser
goToUrl
request_method
GET
request_uri
https://op.panva.cz/auth?client_id=YI5zWbks5_FKuLgF1paR7&redirect_uri=https://www.certification.openid.net/test/OkMPJycLtL/callback&scope=openid%20offline_access&state=EgELaZcZ6H&nonce=o4nUpFvJUV&response_type=code%20id_token%20token&prompt=consent
2020-07-28 20:06:06 RESPONSE
WebRunner
Scripted browser HTTP response
response_content
<!DOCTYPE html>
<html >
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title>Sign-in</title>
    <style>
      @import url(https://fonts.googleapis.com/css?family=Roboto:400,100);

      body {
        font-family: 'Roboto', sans-serif;
        margin-top: 25px;
        margin-bottom: 25px;
      }

      .login-card {
        padding: 40px;
        padding-top: 0px;
        padding-bottom: 10px;
        width: 274px;
        background-color: #F7F7F7;
        margin: 0 auto 10px;
        border-radius: 2px;
        box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
        overflow: hidden;
      }

      .login-card + .login-card {
        padding-top: 10px;
      }

      .login-card h1 {
        font-weight: 100;
        text-align: center;
        font-size: 2.3em;
      }

      .login-card [type=submit] {
        width: 100%;
        display: block;
        margin-bottom: 10px;
        position: relative;
      }

      .login-card input[type=text], input[type=email], input[type=password] {
        height: 44px;
        font-size: 16px;
        width: 100%;
        margin-bottom: 10px;
        -webkit-appearance: none;
        background: #fff;
        border: 1px solid #d9d9d9;
        border-top: 1px solid #c0c0c0;
        padding: 0 8px;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
      }

      .login {
        text-align: center;
        font-size: 14px;
        font-family: 'Arial', sans-serif;
        font-weight: 700;
        height: 36px;
        padding: 0 8px;
      }

      .login-submit {
        border: 0px;
        color: #fff;
        text-shadow: 0 1px rgba(0,0,0,0.1);
        background-color: #4d90fe;
      }

      .google-button {
        height: 40px;
        border-width: 0;
        background: white;
        color: #737373;
        border-radius: 5px;
        white-space: nowrap;
        box-shadow: 1px 1px 0px 1px rgba(0,0,0,0.05);
        transition-property: background-color, box-shadow;
        transition-duration: 150ms;
        transition-timing-function: ease-in-out;
        padding: 0;

        &:focus,
        &:hover {
          box-shadow: 1px 4px 5px 1px rgba(0,0,0,0.1);
        }

        &:active {
          background-color: #e5e5e5;
          box-shadow: none;
          transition-duration: 10ms;
        }
      }

      .google-button__icon {
        display: inline-block;
        vertical-align: middle;
        margin: 8px 0 8px 8px;
        width: 18px;
        height: 18px;
        box-sizing: border-box;
      }

      .google-button__icon--plus {
        width: 27px;
      }

      .google-button__text {
        display: inline-block;
        vertical-align: middle;
        padding: 0 24px;
        font-size: 14px;
        font-weight: bold;
        font-family: 'Roboto',arial,sans-serif;
      }

      .login-card a {
        text-decoration: none;
        color: #666;
        font-weight: 400;
        text-align: center;
        display: inline-block;
        opacity: 0.6;
      }

      .login-help {
        color: #666;
        width: 100%;
        text-align: center;
        font-size: 12px;
      }

      .login-client-image img {
        margin-bottom: 20px;
        display: block;
        margin-left: auto;
        margin-right: auto;
        width: 20%;
      }

      .login-card input[type=checkbox] {
        margin-bottom: 10px;
      }

      .login-card label {
        color: #999;
      }

      .grant-debug {
        text-align: center;
        font-family: Fixed, monospace;
        width: 100%;
        font-size: 12px;
        color: #999;
      }

      .grant-debug div {
        padding-top: 10px;
      }

      .login-help + form {
        margin-top: 10px;
      }

      ul {
        font-weight: 100;
        padding-left: 1em;
        list-style-type: circle;
      }

      li + ul, ul + li, li + li {
        padding-top: 0.3em;
      }

      button {
        cursor: pointer;
      }
    </style>
  </head>
  <body>
    <div class="login-card">
      <h1>Sign-in</h1>
      
<form autocomplete="off" action="/interaction/DhzJAl1fQhx-Bsa731Rt3/federated" method="post">
  <input type="hidden" name="provider" value="google">
  <button type="submit" class="google-button">
    <span class="google-button__icon">
      <svg viewBox="0 0 366 372" xmlns="http://www.w3.org/2000/svg"><path d="M125.9 10.2c40.2-13.9 85.3-13.6 125.3 1.1 22.2 8.2 42.5 21 59.9 37.1-5.8 6.3-12.1 12.2-18.1 18.3l-34.2 34.2c-11.3-10.8-25.1-19-40.1-23.6-17.6-5.3-36.6-6.1-54.6-2.2-21 4.5-40.5 15.5-55.6 30.9-12.2 12.3-21.4 27.5-27 43.9-20.3-15.8-40.6-31.5-61-47.3 21.5-43 60.1-76.9 105.4-92.4z" id="Shape" fill="#EA4335"/><path d="M20.6 102.4c20.3 15.8 40.6 31.5 61 47.3-8 23.3-8 49.2 0 72.4-20.3 15.8-40.6 31.6-60.9 47.3C1.9 232.7-3.8 189.6 4.4 149.2c3.3-16.2 8.7-32 16.2-46.8z" id="Shape" fill="#FBBC05"/><path d="M361.7 151.1c5.8 32.7 4.5 66.8-4.7 98.8-8.5 29.3-24.6 56.5-47.1 77.2l-59.1-45.9c19.5-13.1 33.3-34.3 37.2-57.5H186.6c.1-24.2.1-48.4.1-72.6h175z" id="Shape" fill="#4285F4"/><path d="M81.4 222.2c7.8 22.9 22.8 43.2 42.6 57.1 12.4 8.7 26.6 14.9 41.4 17.9 14.6 3 29.7 2.6 44.4.1 14.6-2.6 28.7-7.9 41-16.2l59.1 45.9c-21.3 19.7-48 33.1-76.2 39.6-31.2 7.1-64.2 7.3-95.2-1-24.6-6.5-47.7-18.2-67.6-34.1-20.9-16.6-38.3-38-50.4-62 20.3-15.7 40.6-31.5 60.9-47.3z" fill="#34A853"/></svg>
    </span>
    <span class="google-button__text">Sign in with Google</span>
  </button>
</form>
<div class="login-help">
  - or -
</div>

<form autocomplete="off" action="/interaction/DhzJAl1fQhx-Bsa731Rt3/login" method="post">
  <input required type="text" name="login" placeholder="Enter any login" autofocus="on">
  <input required type="password" name="password" placeholder="and password" >

  <button type="submit" class="login login-submit">Sign-in</button>
</form>

      <div class="login-help">
        <a href="/interaction/DhzJAl1fQhx-Bsa731Rt3/abort">[ Cancel ]</a>
        
        
      </div>
    </div>
    <div class="grant-debug">
      <details>
        <summary style="text-align: center;">(Click to expand) DEBUG information</summary>
        <div>
          <strong>uid</strong>: DhzJAl1fQhx-Bsa731Rt3
        </div>

        

        <div>
          PARAMS <br>
         ======== <br>
          <strong>client_id</strong>: 'YI5zWbks5_FKuLgF1paR7'<br/><strong>nonce</strong>: 'o4nUpFvJUV'<br/><strong>prompt</strong>: 'consent'<br/><strong>redirect_uri</strong>: 'https://www.certification.openid.net/test/OkMPJycLtL/callback'<br/><strong>response_type</strong>: 'code id_token token'<br/><strong>scope</strong>: 'openid offline_access'<br/><strong>state</strong>: 'EgELaZcZ6H'
        </div>

        <div>
          PROMPT <br>
         ======== <br>
          <strong>name</strong>: 'login'<br/><strong>reasons</strong>: [ 'no_session' ]<br/><strong>details</strong>: { max_age: null, login_hint: null, id_token_hint: null }
        </div>
      </details>
    </div>
  </body>
</html>
response_content_type
text/html
response_status_text
200-OK
response_status_code
200
2020-07-28 20:06:06 INFO
WebRunner
Entering text
task
Login
browser
text
element_type
name
value
foo
url
https://op.panva.cz/interaction/DhzJAl1fQhx-Bsa731Rt3
target
login
2020-07-28 20:06:06 INFO
WebRunner
Entering text
task
Login
browser
text
element_type
name
value
bar
url
https://op.panva.cz/interaction/DhzJAl1fQhx-Bsa731Rt3
target
password
2020-07-28 20:06:06 INFO
WebRunner
Clicking an element
task
Login
browser
click
element_type
class
url
https://op.panva.cz/interaction/DhzJAl1fQhx-Bsa731Rt3
target
login-submit
2020-07-28 20:06:07 INFO
WebRunner
Completed processing of webpage
task
Login
browser
complete
response_status_text
200-OK
match
https://op.panva.cz/interaction*
url
https://op.panva.cz/interaction/DhzJAl1fQhx-Bsa731Rt3
response_status_code
200
2020-07-28 20:06:07 INFO
WebRunner
Clicking an element
task
Consent
browser
click
element_type
class
url
https://op.panva.cz/interaction/DhzJAl1fQhx-Bsa731Rt3
target
login-submit
2020-07-28 20:06:08 INCOMING
oidcc-refresh-token-rp-key-rotation
Incoming HTTP request to test instance OkMPJycLtL
incoming_headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36",
  "accept": "text/html,application/xhtml+xml,application/xml;q\u003d0.9,image/webp,image/apng,*/*;q\u003d0.8",
  "referer": "https://op.panva.cz/interaction/DhzJAl1fQhx-Bsa731Rt3",
  "accept-encoding": "gzip, deflate",
  "accept-language": "en-US",
  "origin": "https://op.panva.cz/interaction/DhzJAl1fQhx-Bsa731Rt3",
  "cache-control": "max-age\u003d0",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "connection": "close",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net"
}
incoming_path
callback
incoming_body_form_params
incoming_method
GET
incoming_body_json
incoming_query_string_params
{}
incoming_body
2020-07-28 20:06:08 SUCCESS
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
implicit_submit
{
  "path": "implicit/r35rwhtIWvy279MnWv8J",
  "fullUrl": "https://www.certification.openid.net/test/OkMPJycLtL/implicit/r35rwhtIWvy279MnWv8J"
}
2020-07-28 20:06:08 OUTGOING
oidcc-refresh-token-rp-key-rotation
Response to HTTP request to test instance OkMPJycLtL
outgoing
ModelAndView [view="implicitCallback"; model={implicitSubmitUrl=https://www.certification.openid.net/test/OkMPJycLtL/implicit/r35rwhtIWvy279MnWv8J, returnUrl=/log-detail.html?log=OkMPJycLtL}]
outgoing_path
callback
2020-07-28 20:06:08 INFO
WebRunner
Completed processing of webpage
task
Consent
browser
complete
response_status_text
200-
match
https://op.panva.cz/interaction*
url
https://www.certification.openid.net/test/OkMPJycLtL/callback#code=iEP5TCttSr4NIWxUJcsJcFl9ocbVngd-h5MyCuuhXKZ&id_token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoiQVFRdnlGWDIwV255Y0lFUkduZl9RQSIsImNfaGFzaCI6IkNtdFQzUkVVSTV2QXZrYnJ4YnFiWHciLCJzX2hhc2giOiJNX1NOdVJZWXpSSU1rZTRQckxzQXhRIiwiYXVkIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTcwMzY3LCJpYXQiOjE1OTU5NjY3NjcsImlzcyI6Imh0dHBzOi8vb3AucGFudmEuY3oifQ.LJAFDln-HIDxVIXJsRCM84MeX36OZ8kyEzQ8bzfU_y1hRmYAtyOu7i15QrusU0Vp4jLEN6mO_vcBB8K-QFcInnf1h-UMWPj_pA3G7kGLwNpFKVwBvlnbKR3nbDsc4s46ji7Sd5-5FLofc3AUlvBSdg0SzabEpJRa3my7ubrEUKcwOIyoOv9KsreSKlprTXlFN0p2XMI7-ZsgE4hSCts4oApZ5jxgd8U6epjj4k6dRnWmjgpRyNIb7UaSNL66gvvCZY1HR6Qu-ZGGnA2fh4xwO6x22gucgZpuUKGJtnwiILBwEGAB6n150ISsTxY6uNbaRu8GZGx_C4knH8Otsa5Dew&access_token=nBd2Y7zIS6HvdqOJx4BnQbZ3jNjpPmjqDHAEJokjFbe&expires_in=3600&token_type=Bearer&scope=openid%20offline_access&state=EgELaZcZ6H&session_state=lzRJhRHtTM_xzu9PxQQ_RhFEJ9cUK0E8ALQP3NHSmB8
response_status_code
200
2020-07-28 20:06:08 INFO
WebRunner
Waiting
regexp
seconds
10
task
Verify Complete
browser
wait
action
element_type
id
url
https://www.certification.openid.net/test/OkMPJycLtL/callback#code=iEP5TCttSr4NIWxUJcsJcFl9ocbVngd-h5MyCuuhXKZ&id_token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoiQVFRdnlGWDIwV255Y0lFUkduZl9RQSIsImNfaGFzaCI6IkNtdFQzUkVVSTV2QXZrYnJ4YnFiWHciLCJzX2hhc2giOiJNX1NOdVJZWXpSSU1rZTRQckxzQXhRIiwiYXVkIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTcwMzY3LCJpYXQiOjE1OTU5NjY3NjcsImlzcyI6Imh0dHBzOi8vb3AucGFudmEuY3oifQ.LJAFDln-HIDxVIXJsRCM84MeX36OZ8kyEzQ8bzfU_y1hRmYAtyOu7i15QrusU0Vp4jLEN6mO_vcBB8K-QFcInnf1h-UMWPj_pA3G7kGLwNpFKVwBvlnbKR3nbDsc4s46ji7Sd5-5FLofc3AUlvBSdg0SzabEpJRa3my7ubrEUKcwOIyoOv9KsreSKlprTXlFN0p2XMI7-ZsgE4hSCts4oApZ5jxgd8U6epjj4k6dRnWmjgpRyNIb7UaSNL66gvvCZY1HR6Qu-ZGGnA2fh4xwO6x22gucgZpuUKGJtnwiILBwEGAB6n150ISsTxY6uNbaRu8GZGx_C4knH8Otsa5Dew&access_token=nBd2Y7zIS6HvdqOJx4BnQbZ3jNjpPmjqDHAEJokjFbe&expires_in=3600&token_type=Bearer&scope=openid%20offline_access&state=EgELaZcZ6H&session_state=lzRJhRHtTM_xzu9PxQQ_RhFEJ9cUK0E8ALQP3NHSmB8
target
submission_complete
2020-07-28 20:06:08 INCOMING
oidcc-refresh-token-rp-key-rotation
Incoming HTTP request to test instance OkMPJycLtL
incoming_headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36",
  "accept": "*/*",
  "referer": "https://www.certification.openid.net/test/OkMPJycLtL/callback#code\u003diEP5TCttSr4NIWxUJcsJcFl9ocbVngd-h5MyCuuhXKZ\u0026id_token\u003deyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoiQVFRdnlGWDIwV255Y0lFUkduZl9RQSIsImNfaGFzaCI6IkNtdFQzUkVVSTV2QXZrYnJ4YnFiWHciLCJzX2hhc2giOiJNX1NOdVJZWXpSSU1rZTRQckxzQXhRIiwiYXVkIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTcwMzY3LCJpYXQiOjE1OTU5NjY3NjcsImlzcyI6Imh0dHBzOi8vb3AucGFudmEuY3oifQ.LJAFDln-HIDxVIXJsRCM84MeX36OZ8kyEzQ8bzfU_y1hRmYAtyOu7i15QrusU0Vp4jLEN6mO_vcBB8K-QFcInnf1h-UMWPj_pA3G7kGLwNpFKVwBvlnbKR3nbDsc4s46ji7Sd5-5FLofc3AUlvBSdg0SzabEpJRa3my7ubrEUKcwOIyoOv9KsreSKlprTXlFN0p2XMI7-ZsgE4hSCts4oApZ5jxgd8U6epjj4k6dRnWmjgpRyNIb7UaSNL66gvvCZY1HR6Qu-ZGGnA2fh4xwO6x22gucgZpuUKGJtnwiILBwEGAB6n150ISsTxY6uNbaRu8GZGx_C4knH8Otsa5Dew\u0026access_token\u003dnBd2Y7zIS6HvdqOJx4BnQbZ3jNjpPmjqDHAEJokjFbe\u0026expires_in\u003d3600\u0026token_type\u003dBearer\u0026scope\u003dopenid%20offline_access\u0026state\u003dEgELaZcZ6H\u0026session_state\u003dlzRJhRHtTM_xzu9PxQQ_RhFEJ9cUK0E8ALQP3NHSmB8",
  "accept-encoding": "gzip, deflate",
  "accept-language": "en-US",
  "cookie": "JSESSIONID\u003d849DE30F24EE3949960868766F1B068B",
  "x-requested-with": "XMLHttpRequest",
  "content-type": "text/plain",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "content-length": "1009",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net",
  "connection": "close"
}
incoming_path
implicit/r35rwhtIWvy279MnWv8J
incoming_body_form_params
incoming_method
POST
incoming_body_json
incoming_query_string_params
{}
incoming_body
#code=iEP5TCttSr4NIWxUJcsJcFl9ocbVngd-h5MyCuuhXKZ&id_token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoiQVFRdnlGWDIwV255Y0lFUkduZl9RQSIsImNfaGFzaCI6IkNtdFQzUkVVSTV2QXZrYnJ4YnFiWHciLCJzX2hhc2giOiJNX1NOdVJZWXpSSU1rZTRQckxzQXhRIiwiYXVkIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTcwMzY3LCJpYXQiOjE1OTU5NjY3NjcsImlzcyI6Imh0dHBzOi8vb3AucGFudmEuY3oifQ.LJAFDln-HIDxVIXJsRCM84MeX36OZ8kyEzQ8bzfU_y1hRmYAtyOu7i15QrusU0Vp4jLEN6mO_vcBB8K-QFcInnf1h-UMWPj_pA3G7kGLwNpFKVwBvlnbKR3nbDsc4s46ji7Sd5-5FLofc3AUlvBSdg0SzabEpJRa3my7ubrEUKcwOIyoOv9KsreSKlprTXlFN0p2XMI7-ZsgE4hSCts4oApZ5jxgd8U6epjj4k6dRnWmjgpRyNIb7UaSNL66gvvCZY1HR6Qu-ZGGnA2fh4xwO6x22gucgZpuUKGJtnwiILBwEGAB6n150ISsTxY6uNbaRu8GZGx_C4knH8Otsa5Dew&access_token=nBd2Y7zIS6HvdqOJx4BnQbZ3jNjpPmjqDHAEJokjFbe&expires_in=3600&token_type=Bearer&scope=openid offline_access&state=EgELaZcZ6H&session_state=lzRJhRHtTM_xzu9PxQQ_RhFEJ9cUK0E8ALQP3NHSmB8
2020-07-28 20:06:08 OUTGOING
oidcc-refresh-token-rp-key-rotation
Response to HTTP request to test instance OkMPJycLtL
outgoing
org.springframework.web.servlet.view.RedirectView: [RedirectView]; URL [/log-detail.html?log=OkMPJycLtL]
outgoing_path
implicit/r35rwhtIWvy279MnWv8J
2020-07-28 20:06:08
ExtractImplicitHashToCallbackResponse
Extracted response from URL fragment
parameters
[
  {
    "value": "iEP5TCttSr4NIWxUJcsJcFl9ocbVngd-h5MyCuuhXKZ",
    "name": "code"
  },
  {
    "value": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoiQVFRdnlGWDIwV255Y0lFUkduZl9RQSIsImNfaGFzaCI6IkNtdFQzUkVVSTV2QXZrYnJ4YnFiWHciLCJzX2hhc2giOiJNX1NOdVJZWXpSSU1rZTRQckxzQXhRIiwiYXVkIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTcwMzY3LCJpYXQiOjE1OTU5NjY3NjcsImlzcyI6Imh0dHBzOi8vb3AucGFudmEuY3oifQ.LJAFDln-HIDxVIXJsRCM84MeX36OZ8kyEzQ8bzfU_y1hRmYAtyOu7i15QrusU0Vp4jLEN6mO_vcBB8K-QFcInnf1h-UMWPj_pA3G7kGLwNpFKVwBvlnbKR3nbDsc4s46ji7Sd5-5FLofc3AUlvBSdg0SzabEpJRa3my7ubrEUKcwOIyoOv9KsreSKlprTXlFN0p2XMI7-ZsgE4hSCts4oApZ5jxgd8U6epjj4k6dRnWmjgpRyNIb7UaSNL66gvvCZY1HR6Qu-ZGGnA2fh4xwO6x22gucgZpuUKGJtnwiILBwEGAB6n150ISsTxY6uNbaRu8GZGx_C4knH8Otsa5Dew",
    "name": "id_token"
  },
  {
    "value": "nBd2Y7zIS6HvdqOJx4BnQbZ3jNjpPmjqDHAEJokjFbe",
    "name": "access_token"
  },
  {
    "value": "3600",
    "name": "expires_in"
  },
  {
    "value": "Bearer",
    "name": "token_type"
  },
  {
    "value": "openid offline_access",
    "name": "scope"
  },
  {
    "value": "EgELaZcZ6H",
    "name": "state"
  },
  {
    "value": "lzRJhRHtTM_xzu9PxQQ_RhFEJ9cUK0E8ALQP3NHSmB8",
    "name": "session_state"
  }
]
2020-07-28 20:06:08 SUCCESS
ExtractImplicitHashToCallbackResponse
Extracted the hash values
code
iEP5TCttSr4NIWxUJcsJcFl9ocbVngd-h5MyCuuhXKZ
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoiQVFRdnlGWDIwV255Y0lFUkduZl9RQSIsImNfaGFzaCI6IkNtdFQzUkVVSTV2QXZrYnJ4YnFiWHciLCJzX2hhc2giOiJNX1NOdVJZWXpSSU1rZTRQckxzQXhRIiwiYXVkIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTcwMzY3LCJpYXQiOjE1OTU5NjY3NjcsImlzcyI6Imh0dHBzOi8vb3AucGFudmEuY3oifQ.LJAFDln-HIDxVIXJsRCM84MeX36OZ8kyEzQ8bzfU_y1hRmYAtyOu7i15QrusU0Vp4jLEN6mO_vcBB8K-QFcInnf1h-UMWPj_pA3G7kGLwNpFKVwBvlnbKR3nbDsc4s46ji7Sd5-5FLofc3AUlvBSdg0SzabEpJRa3my7ubrEUKcwOIyoOv9KsreSKlprTXlFN0p2XMI7-ZsgE4hSCts4oApZ5jxgd8U6epjj4k6dRnWmjgpRyNIb7UaSNL66gvvCZY1HR6Qu-ZGGnA2fh4xwO6x22gucgZpuUKGJtnwiILBwEGAB6n150ISsTxY6uNbaRu8GZGx_C4knH8Otsa5Dew
access_token
nBd2Y7zIS6HvdqOJx4BnQbZ3jNjpPmjqDHAEJokjFbe
expires_in
3600
token_type
Bearer
scope
openid offline_access
state
EgELaZcZ6H
session_state
lzRJhRHtTM_xzu9PxQQ_RhFEJ9cUK0E8ALQP3NHSmB8
2020-07-28 20:06:08 REDIRECT-IN
oidcc-refresh-token-rp-key-rotation
Authorization endpoint response captured
url_query
{}
headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36",
  "accept": "text/html,application/xhtml+xml,application/xml;q\u003d0.9,image/webp,image/apng,*/*;q\u003d0.8",
  "referer": "https://op.panva.cz/interaction/DhzJAl1fQhx-Bsa731Rt3",
  "accept-encoding": "gzip, deflate",
  "accept-language": "en-US",
  "origin": "https://op.panva.cz/interaction/DhzJAl1fQhx-Bsa731Rt3",
  "cache-control": "max-age\u003d0",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "connection": "close",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net"
}
http_method
GET
url_fragment
{
  "code": "iEP5TCttSr4NIWxUJcsJcFl9ocbVngd-h5MyCuuhXKZ",
  "id_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoiQVFRdnlGWDIwV255Y0lFUkduZl9RQSIsImNfaGFzaCI6IkNtdFQzUkVVSTV2QXZrYnJ4YnFiWHciLCJzX2hhc2giOiJNX1NOdVJZWXpSSU1rZTRQckxzQXhRIiwiYXVkIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTcwMzY3LCJpYXQiOjE1OTU5NjY3NjcsImlzcyI6Imh0dHBzOi8vb3AucGFudmEuY3oifQ.LJAFDln-HIDxVIXJsRCM84MeX36OZ8kyEzQ8bzfU_y1hRmYAtyOu7i15QrusU0Vp4jLEN6mO_vcBB8K-QFcInnf1h-UMWPj_pA3G7kGLwNpFKVwBvlnbKR3nbDsc4s46ji7Sd5-5FLofc3AUlvBSdg0SzabEpJRa3my7ubrEUKcwOIyoOv9KsreSKlprTXlFN0p2XMI7-ZsgE4hSCts4oApZ5jxgd8U6epjj4k6dRnWmjgpRyNIb7UaSNL66gvvCZY1HR6Qu-ZGGnA2fh4xwO6x22gucgZpuUKGJtnwiILBwEGAB6n150ISsTxY6uNbaRu8GZGx_C4knH8Otsa5Dew",
  "access_token": "nBd2Y7zIS6HvdqOJx4BnQbZ3jNjpPmjqDHAEJokjFbe",
  "expires_in": "3600",
  "token_type": "Bearer",
  "scope": "openid offline_access",
  "state": "EgELaZcZ6H",
  "session_state": "lzRJhRHtTM_xzu9PxQQ_RhFEJ9cUK0E8ALQP3NHSmB8"
}
post_body
Verify authorization endpoint response
2020-07-28 20:06:08 SUCCESS
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
2020-07-28 20:06:08 SUCCESS
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
2020-07-28 20:06:08 SUCCESS
CheckMatchingCallbackParameters
Callback parameters successfully verified
2020-07-28 20:06:08 SUCCESS
CheckIfAuthorizationEndpointError
No error from authorization endpoint
2020-07-28 20:06:08 SUCCESS
CheckMatchingStateParameter
State parameter correctly returned
state
EgELaZcZ6H
2020-07-28 20:06:08 SUCCESS
ExtractAuthorizationCodeFromAuthorizationResponse
Found authorization code
code
iEP5TCttSr4NIWxUJcsJcFl9ocbVngd-h5MyCuuhXKZ
2020-07-28 20:06:08 SUCCESS
ExtractAccessTokenFromAuthorizationResponse
Extracted the access token
value
nBd2Y7zIS6HvdqOJx4BnQbZ3jNjpPmjqDHAEJokjFbe
type
Bearer
2020-07-28 20:06:08 SUCCESS
ExtractIdTokenFromAuthorizationResponse
Found and parsed the id_token from authorization_endpoint_response
value
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoiQVFRdnlGWDIwV255Y0lFUkduZl9RQSIsImNfaGFzaCI6IkNtdFQzUkVVSTV2QXZrYnJ4YnFiWHciLCJzX2hhc2giOiJNX1NOdVJZWXpSSU1rZTRQckxzQXhRIiwiYXVkIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTcwMzY3LCJpYXQiOjE1OTU5NjY3NjcsImlzcyI6Imh0dHBzOi8vb3AucGFudmEuY3oifQ.LJAFDln-HIDxVIXJsRCM84MeX36OZ8kyEzQ8bzfU_y1hRmYAtyOu7i15QrusU0Vp4jLEN6mO_vcBB8K-QFcInnf1h-UMWPj_pA3G7kGLwNpFKVwBvlnbKR3nbDsc4s46ji7Sd5-5FLofc3AUlvBSdg0SzabEpJRa3my7ubrEUKcwOIyoOv9KsreSKlprTXlFN0p2XMI7-ZsgE4hSCts4oApZ5jxgd8U6epjj4k6dRnWmjgpRyNIb7UaSNL66gvvCZY1HR6Qu-ZGGnA2fh4xwO6x22gucgZpuUKGJtnwiILBwEGAB6n150ISsTxY6uNbaRu8GZGx_C4knH8Otsa5Dew
header
{
  "kid": "r1LkbBo3925Rb2ZFFrKyU3MVex9T2817Kx0vbi6i_Kc",
  "typ": "JWT",
  "alg": "RS256"
}
claims
{
  "at_hash": "AQQvyFX20WnycIERGnf_QA",
  "sub": "foo",
  "c_hash": "CmtT3REUI5vAvkbrxbqbXw",
  "aud": "YI5zWbks5_FKuLgF1paR7",
  "s_hash": "M_SNuRYYzRIMke4PrLsAxQ",
  "iss": "https://op.panva.cz",
  "exp": 1595970367,
  "nonce": "o4nUpFvJUV",
  "iat": 1595966767
}
2020-07-28 20:06:08 SUCCESS
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
2020-07-28 20:06:08 SUCCESS
ValidateIdTokenNonce
Nonce values match
nonce
o4nUpFvJUV
2020-07-28 20:06:08 SUCCESS
ValidateIdTokenACRClaimAgainstRequest
Nothing to check; the conformance suite did not request an acr claim in request object
2020-07-28 20:06:08 SUCCESS
ValidateIdTokenSignature
id_token signature validated
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoiQVFRdnlGWDIwV255Y0lFUkduZl9RQSIsImNfaGFzaCI6IkNtdFQzUkVVSTV2QXZrYnJ4YnFiWHciLCJzX2hhc2giOiJNX1NOdVJZWXpSSU1rZTRQckxzQXhRIiwiYXVkIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTcwMzY3LCJpYXQiOjE1OTU5NjY3NjcsImlzcyI6Imh0dHBzOi8vb3AucGFudmEuY3oifQ.LJAFDln-HIDxVIXJsRCM84MeX36OZ8kyEzQ8bzfU_y1hRmYAtyOu7i15QrusU0Vp4jLEN6mO_vcBB8K-QFcInnf1h-UMWPj_pA3G7kGLwNpFKVwBvlnbKR3nbDsc4s46ji7Sd5-5FLofc3AUlvBSdg0SzabEpJRa3my7ubrEUKcwOIyoOv9KsreSKlprTXlFN0p2XMI7-ZsgE4hSCts4oApZ5jxgd8U6epjj4k6dRnWmjgpRyNIb7UaSNL66gvvCZY1HR6Qu-ZGGnA2fh4xwO6x22gucgZpuUKGJtnwiILBwEGAB6n150ISsTxY6uNbaRu8GZGx_C4knH8Otsa5Dew
2020-07-28 20:06:08 SUCCESS
ValidateIdTokenSignatureUsingKid
id_token signature validated
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoiQVFRdnlGWDIwV255Y0lFUkduZl9RQSIsImNfaGFzaCI6IkNtdFQzUkVVSTV2QXZrYnJ4YnFiWHciLCJzX2hhc2giOiJNX1NOdVJZWXpSSU1rZTRQckxzQXhRIiwiYXVkIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTcwMzY3LCJpYXQiOjE1OTU5NjY3NjcsImlzcyI6Imh0dHBzOi8vb3AucGFudmEuY3oifQ.LJAFDln-HIDxVIXJsRCM84MeX36OZ8kyEzQ8bzfU_y1hRmYAtyOu7i15QrusU0Vp4jLEN6mO_vcBB8K-QFcInnf1h-UMWPj_pA3G7kGLwNpFKVwBvlnbKR3nbDsc4s46ji7Sd5-5FLofc3AUlvBSdg0SzabEpJRa3my7ubrEUKcwOIyoOv9KsreSKlprTXlFN0p2XMI7-ZsgE4hSCts4oApZ5jxgd8U6epjj4k6dRnWmjgpRyNIb7UaSNL66gvvCZY1HR6Qu-ZGGnA2fh4xwO6x22gucgZpuUKGJtnwiILBwEGAB6n150ISsTxY6uNbaRu8GZGx_C4knH8Otsa5Dew
2020-07-28 20:06:08 SUCCESS
CheckForSubjectInIdToken
Found 'sub' in id_token
sub
foo
Userinfo endpoint tests
2020-07-28 20:06:08
CallProtectedResourceWithBearerToken
HTTP request
request_uri
https://op.panva.cz/me
request_method
GET
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Bearer nBd2Y7zIS6HvdqOJx4BnQbZ3jNjpPmjqDHAEJokjFbe",
  "accept-charset": "utf-8",
  "content-length": "0"
}
request_body

                                
2020-07-28 20:06:08 INFO
WebRunner
Completed processing of webpage
task
Verify Complete
browser
complete
response_status_text
200-
match
*/test/*/callback*
url
https://www.certification.openid.net/test/OkMPJycLtL/callback#code=iEP5TCttSr4NIWxUJcsJcFl9ocbVngd-h5MyCuuhXKZ&id_token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoiQVFRdnlGWDIwV255Y0lFUkduZl9RQSIsImNfaGFzaCI6IkNtdFQzUkVVSTV2QXZrYnJ4YnFiWHciLCJzX2hhc2giOiJNX1NOdVJZWXpSSU1rZTRQckxzQXhRIiwiYXVkIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTcwMzY3LCJpYXQiOjE1OTU5NjY3NjcsImlzcyI6Imh0dHBzOi8vb3AucGFudmEuY3oifQ.LJAFDln-HIDxVIXJsRCM84MeX36OZ8kyEzQ8bzfU_y1hRmYAtyOu7i15QrusU0Vp4jLEN6mO_vcBB8K-QFcInnf1h-UMWPj_pA3G7kGLwNpFKVwBvlnbKR3nbDsc4s46ji7Sd5-5FLofc3AUlvBSdg0SzabEpJRa3my7ubrEUKcwOIyoOv9KsreSKlprTXlFN0p2XMI7-ZsgE4hSCts4oApZ5jxgd8U6epjj4k6dRnWmjgpRyNIb7UaSNL66gvvCZY1HR6Qu-ZGGnA2fh4xwO6x22gucgZpuUKGJtnwiILBwEGAB6n150ISsTxY6uNbaRu8GZGx_C4knH8Otsa5Dew&access_token=nBd2Y7zIS6HvdqOJx4BnQbZ3jNjpPmjqDHAEJokjFbe&expires_in=3600&token_type=Bearer&scope=openid%20offline_access&state=EgELaZcZ6H&session_state=lzRJhRHtTM_xzu9PxQQ_RhFEJ9cUK0E8ALQP3NHSmB8
response_status_code
200
2020-07-28 20:06:09 RESPONSE
CallProtectedResourceWithBearerToken
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "13",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Tue, 28 Jul 2020 20:06:09 GMT",
  "pragma": "no-cache",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-xss-protection": "1; mode\u003dblock"
}
response_body
{"sub":"foo"}
2020-07-28 20:06:09 SUCCESS
CallProtectedResourceWithBearerToken
Got a response from the resource endpoint
headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "13",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Tue, 28 Jul 2020 20:06:09 GMT",
  "pragma": "no-cache",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-xss-protection": "1; mode\u003dblock"
}
status_code
{
  "code": 200
}
body
{"sub":"foo"}
2020-07-28 20:06:09 SUCCESS
CreateTokenEndpointRequestForAuthorizationCodeGrant
grant_type
authorization_code
code
iEP5TCttSr4NIWxUJcsJcFl9ocbVngd-h5MyCuuhXKZ
redirect_uri
https://www.certification.openid.net/test/OkMPJycLtL/callback
2020-07-28 20:06:09 SUCCESS
CreateClientAuthenticationAssertionClaims
Created client assertion claims
iss
YI5zWbks5_FKuLgF1paR7
sub
YI5zWbks5_FKuLgF1paR7
aud
https://op.panva.cz/token
jti
3VP6hOwpjGwpAXstqIfO
iat
1595966769
exp
1595966829
2020-07-28 20:06:09 SUCCESS
SignClientAuthenticationAssertion
Signed the client assertion
client_assertion
eyJraWQiOiJ5ZUtsZjFJYUUwWGZLejd3bkVOMjFDbUF3Mi1KcTZ0amlITWduQ3hWbUxzIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJZSTV6V2JrczVfRkt1TGdGMXBhUjciLCJhdWQiOiJodHRwczpcL1wvb3AucGFudmEuY3pcL3Rva2VuIiwiaXNzIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTY2ODI5LCJpYXQiOjE1OTU5NjY3NjksImp0aSI6IjNWUDZoT3dwakd3cEFYc3RxSWZPIn0.PdVn5VJU6aaJPCXRYoqEpe87Dr060mO5HC_QxvVy2BLgtKSPmdfVg0N6jA23apKEjmJaErVG9qA66Rxq4tQCFMJNdp6NsS0lAafOd5EbkK6KIUJGm43mdWAePPMQwLW846te7HMBWNhTBKXNKCsg7bMTjs7i99facRNb0Et2wLMixfSnJFdiBwH0lEZlbUJnBwZvzPve1kGSGf-mGP9gDB8tzy4AUeZ3Au-Dcgu0-bGfSJcfJTiogWGFwEUYmjejm9fs4La-XU38xrmPjLF5a76iHYNd8iDjZ4HCisjdrOUt47usta_h0-eCdS90BiI8p8bc3IuNUX8u2F-se7MY0Q
2020-07-28 20:06:09
AddClientAssertionToTokenEndpointRequest
Added client assertion
grant_type
authorization_code
code
iEP5TCttSr4NIWxUJcsJcFl9ocbVngd-h5MyCuuhXKZ
redirect_uri
https://www.certification.openid.net/test/OkMPJycLtL/callback
client_assertion
eyJraWQiOiJ5ZUtsZjFJYUUwWGZLejd3bkVOMjFDbUF3Mi1KcTZ0amlITWduQ3hWbUxzIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJZSTV6V2JrczVfRkt1TGdGMXBhUjciLCJhdWQiOiJodHRwczpcL1wvb3AucGFudmEuY3pcL3Rva2VuIiwiaXNzIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTY2ODI5LCJpYXQiOjE1OTU5NjY3NjksImp0aSI6IjNWUDZoT3dwakd3cEFYc3RxSWZPIn0.PdVn5VJU6aaJPCXRYoqEpe87Dr060mO5HC_QxvVy2BLgtKSPmdfVg0N6jA23apKEjmJaErVG9qA66Rxq4tQCFMJNdp6NsS0lAafOd5EbkK6KIUJGm43mdWAePPMQwLW846te7HMBWNhTBKXNKCsg7bMTjs7i99facRNb0Et2wLMixfSnJFdiBwH0lEZlbUJnBwZvzPve1kGSGf-mGP9gDB8tzy4AUeZ3Au-Dcgu0-bGfSJcfJTiogWGFwEUYmjejm9fs4La-XU38xrmPjLF5a76iHYNd8iDjZ4HCisjdrOUt47usta_h0-eCdS90BiI8p8bc3IuNUX8u2F-se7MY0Q
client_assertion_type
urn:ietf:params:oauth:client-assertion-type:jwt-bearer
2020-07-28 20:06:09
CallTokenEndpoint
HTTP request
request_uri
https://op.panva.cz/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "919"
}
request_body
grant_type=authorization_code&code=iEP5TCttSr4NIWxUJcsJcFl9ocbVngd-h5MyCuuhXKZ&redirect_uri=https%3A%2F%2Fwww.certification.openid.net%2Ftest%2FOkMPJycLtL%2Fcallback&client_assertion=eyJraWQiOiJ5ZUtsZjFJYUUwWGZLejd3bkVOMjFDbUF3Mi1KcTZ0amlITWduQ3hWbUxzIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJZSTV6V2JrczVfRkt1TGdGMXBhUjciLCJhdWQiOiJodHRwczpcL1wvb3AucGFudmEuY3pcL3Rva2VuIiwiaXNzIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTY2ODI5LCJpYXQiOjE1OTU5NjY3NjksImp0aSI6IjNWUDZoT3dwakd3cEFYc3RxSWZPIn0.PdVn5VJU6aaJPCXRYoqEpe87Dr060mO5HC_QxvVy2BLgtKSPmdfVg0N6jA23apKEjmJaErVG9qA66Rxq4tQCFMJNdp6NsS0lAafOd5EbkK6KIUJGm43mdWAePPMQwLW846te7HMBWNhTBKXNKCsg7bMTjs7i99facRNb0Et2wLMixfSnJFdiBwH0lEZlbUJnBwZvzPve1kGSGf-mGP9gDB8tzy4AUeZ3Au-Dcgu0-bGfSJcfJTiogWGFwEUYmjejm9fs4La-XU38xrmPjLF5a76iHYNd8iDjZ4HCisjdrOUt47usta_h0-eCdS90BiI8p8bc3IuNUX8u2F-se7MY0Q&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
2020-07-28 20:06:10 INCOMING
oidcc-refresh-token-rp-key-rotation
Incoming HTTP request to test instance OkMPJycLtL
incoming_headers
{
  "host": "www.certification.openid.net",
  "user-agent": "oidc-provider/6.28.0 (https://github.com/panva/node-oidc-provider)",
  "accept": "application/json",
  "accept-encoding": "gzip, deflate",
  "x-ssl-cipher": "ECDHE-RSA-AES128-GCM-SHA256",
  "x-ssl-protocol": "TLSv1.2",
  "connection": "close",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net"
}
incoming_path
jwks
incoming_body_form_params
incoming_method
GET
incoming_body_json
incoming_query_string_params
{}
incoming_body
2020-07-28 20:06:10 OUTGOING
oidcc-refresh-token-rp-key-rotation
Response to HTTP request to test instance OkMPJycLtL
outgoing_status_code
200
outgoing_headers
{
  "Content-Type": [
    "application/json"
  ]
}
outgoing_body
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "kid": "yeKlf1IaE0XfKz7wnEN21CmAw2-Jq6tjiHMgnCxVmLs",
      "alg": "RS256",
      "n": "qyl6Vw-aPx87lnpyWqv_FXKCTChhgJvprsKqEIKtZTMXaIpZI229qkOAlUQKzAid6OQGZcV-JHr8Zk9Q4Qk3JbyR4X0CCIkT1eMkG1vNl-ramOeghbu8W_dq_8ihfVg5kVxss_l7b-h1bJwNMpehPBwBKLXOu_lHK9Jm9xLR6cK_qlrG6KfH44ldglmOo80qtH0LCNPtoo1ICQ4znZGWut-GwJMXZEPKs054qbSC71q1x5S1DYV5BYDk5RlLfwPwgwdXDhi4Cq7WSXlHUVNjNZjR_HDzXwuidkLVi9iA6PIDr2VdzHBY0hQb6te4nAK-O94fX0wY4XPy-dkBF9DZ8Q"
    }
  ]
}
outgoing_path
jwks
2020-07-28 20:06:10 RESPONSE
CallTokenEndpoint
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "875",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Tue, 28 Jul 2020 20:06:10 GMT",
  "pragma": "no-cache",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-xss-protection": "1; mode\u003dblock"
}
response_body
{"access_token":"DsbVQ-9pH05dtRBPUQt73BLQZA2rrygao_3PayenXgv","expires_in":3600,"id_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoidHRsaG9NYThBOFBhdXdiQkExQnZ4USIsImF1ZCI6IllJNXpXYmtzNV9GS3VMZ0YxcGFSNyIsImV4cCI6MTU5NTk3MDM3MCwiaWF0IjoxNTk1OTY2NzcwLCJpc3MiOiJodHRwczovL29wLnBhbnZhLmN6In0.tmMkumAWAbpXD6SLLn1ksm46T77eIcNw2_lyUCkNtulASk8ZhYUaA3VaIfS9VxpHWcvhb0clOeM9TDrcXjZEAsrLjQXAkjeFjkpDu2EydD7b-iS-4YDerop7TN7P3KmgH9gUpFm3Z6Ree9OKQlXm1law0-1AzDcfkUoDoPZfvx-fLsKXYyGXdEK3eGSMg25t_nH2NtAbm3sBd2zKjqtzq5fbfbOiPV7IZDnfVs03HSXGI_J7uhseUtRJ8DGtHLhoiz5XuzjrDwdmM5b8_Y1XguhQneQJbsy-MtF2oXHqqHJ0Fo_Vq5Ld8ntb6LadlHuCxlyrLNFKPav6EUsRY0tqTA","refresh_token":"uwrHN-FwtOZwns2OmFtSJWHGiOXLbTmeMjRVlB-wPhq","scope":"openid offline_access","token_type":"Bearer"}
2020-07-28 20:06:10
CallTokenEndpoint
Token endpoint response
token_endpoint_response
{"access_token":"DsbVQ-9pH05dtRBPUQt73BLQZA2rrygao_3PayenXgv","expires_in":3600,"id_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoidHRsaG9NYThBOFBhdXdiQkExQnZ4USIsImF1ZCI6IllJNXpXYmtzNV9GS3VMZ0YxcGFSNyIsImV4cCI6MTU5NTk3MDM3MCwiaWF0IjoxNTk1OTY2NzcwLCJpc3MiOiJodHRwczovL29wLnBhbnZhLmN6In0.tmMkumAWAbpXD6SLLn1ksm46T77eIcNw2_lyUCkNtulASk8ZhYUaA3VaIfS9VxpHWcvhb0clOeM9TDrcXjZEAsrLjQXAkjeFjkpDu2EydD7b-iS-4YDerop7TN7P3KmgH9gUpFm3Z6Ree9OKQlXm1law0-1AzDcfkUoDoPZfvx-fLsKXYyGXdEK3eGSMg25t_nH2NtAbm3sBd2zKjqtzq5fbfbOiPV7IZDnfVs03HSXGI_J7uhseUtRJ8DGtHLhoiz5XuzjrDwdmM5b8_Y1XguhQneQJbsy-MtF2oXHqqHJ0Fo_Vq5Ld8ntb6LadlHuCxlyrLNFKPav6EUsRY0tqTA","refresh_token":"uwrHN-FwtOZwns2OmFtSJWHGiOXLbTmeMjRVlB-wPhq","scope":"openid offline_access","token_type":"Bearer"}
2020-07-28 20:06:10 SUCCESS
CallTokenEndpoint
Parsed token endpoint response
access_token
DsbVQ-9pH05dtRBPUQt73BLQZA2rrygao_3PayenXgv
expires_in
3600
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoidHRsaG9NYThBOFBhdXdiQkExQnZ4USIsImF1ZCI6IllJNXpXYmtzNV9GS3VMZ0YxcGFSNyIsImV4cCI6MTU5NTk3MDM3MCwiaWF0IjoxNTk1OTY2NzcwLCJpc3MiOiJodHRwczovL29wLnBhbnZhLmN6In0.tmMkumAWAbpXD6SLLn1ksm46T77eIcNw2_lyUCkNtulASk8ZhYUaA3VaIfS9VxpHWcvhb0clOeM9TDrcXjZEAsrLjQXAkjeFjkpDu2EydD7b-iS-4YDerop7TN7P3KmgH9gUpFm3Z6Ree9OKQlXm1law0-1AzDcfkUoDoPZfvx-fLsKXYyGXdEK3eGSMg25t_nH2NtAbm3sBd2zKjqtzq5fbfbOiPV7IZDnfVs03HSXGI_J7uhseUtRJ8DGtHLhoiz5XuzjrDwdmM5b8_Y1XguhQneQJbsy-MtF2oXHqqHJ0Fo_Vq5Ld8ntb6LadlHuCxlyrLNFKPav6EUsRY0tqTA
refresh_token
uwrHN-FwtOZwns2OmFtSJWHGiOXLbTmeMjRVlB-wPhq
scope
openid offline_access
token_type
Bearer
2020-07-28 20:06:10 SUCCESS
CheckIfTokenEndpointResponseError
No error from token endpoint
2020-07-28 20:06:10 SUCCESS
CheckForAccessTokenValue
Found an access token
access_token
DsbVQ-9pH05dtRBPUQt73BLQZA2rrygao_3PayenXgv
2020-07-28 20:06:10 SUCCESS
ExtractAccessTokenFromTokenResponse
Extracted the access token
value
DsbVQ-9pH05dtRBPUQt73BLQZA2rrygao_3PayenXgv
type
Bearer
2020-07-28 20:06:10 SUCCESS
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
expires_in
3600
2020-07-28 20:06:10 SUCCESS
ValidateExpiresIn
expires_in passed all validation checks
expires_in
3600
2020-07-28 20:06:10 SUCCESS
CheckForRefreshTokenValue
Found a refresh token
refresh_token
uwrHN-FwtOZwns2OmFtSJWHGiOXLbTmeMjRVlB-wPhq
2020-07-28 20:06:10 SUCCESS
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
value
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoidHRsaG9NYThBOFBhdXdiQkExQnZ4USIsImF1ZCI6IllJNXpXYmtzNV9GS3VMZ0YxcGFSNyIsImV4cCI6MTU5NTk3MDM3MCwiaWF0IjoxNTk1OTY2NzcwLCJpc3MiOiJodHRwczovL29wLnBhbnZhLmN6In0.tmMkumAWAbpXD6SLLn1ksm46T77eIcNw2_lyUCkNtulASk8ZhYUaA3VaIfS9VxpHWcvhb0clOeM9TDrcXjZEAsrLjQXAkjeFjkpDu2EydD7b-iS-4YDerop7TN7P3KmgH9gUpFm3Z6Ree9OKQlXm1law0-1AzDcfkUoDoPZfvx-fLsKXYyGXdEK3eGSMg25t_nH2NtAbm3sBd2zKjqtzq5fbfbOiPV7IZDnfVs03HSXGI_J7uhseUtRJ8DGtHLhoiz5XuzjrDwdmM5b8_Y1XguhQneQJbsy-MtF2oXHqqHJ0Fo_Vq5Ld8ntb6LadlHuCxlyrLNFKPav6EUsRY0tqTA
header
{
  "kid": "r1LkbBo3925Rb2ZFFrKyU3MVex9T2817Kx0vbi6i_Kc",
  "typ": "JWT",
  "alg": "RS256"
}
claims
{
  "at_hash": "ttlhoMa8A8PauwbBA1BvxQ",
  "sub": "foo",
  "aud": "YI5zWbks5_FKuLgF1paR7",
  "iss": "https://op.panva.cz",
  "exp": 1595970370,
  "nonce": "o4nUpFvJUV",
  "iat": 1595966770
}
2020-07-28 20:06:10 SUCCESS
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
2020-07-28 20:06:10 SUCCESS
ValidateIdTokenNonce
Nonce values match
nonce
o4nUpFvJUV
2020-07-28 20:06:10 SUCCESS
ValidateIdTokenACRClaimAgainstRequest
Nothing to check; the conformance suite did not request an acr claim in request object
2020-07-28 20:06:10 SUCCESS
ValidateIdTokenSignature
id_token signature validated
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoidHRsaG9NYThBOFBhdXdiQkExQnZ4USIsImF1ZCI6IllJNXpXYmtzNV9GS3VMZ0YxcGFSNyIsImV4cCI6MTU5NTk3MDM3MCwiaWF0IjoxNTk1OTY2NzcwLCJpc3MiOiJodHRwczovL29wLnBhbnZhLmN6In0.tmMkumAWAbpXD6SLLn1ksm46T77eIcNw2_lyUCkNtulASk8ZhYUaA3VaIfS9VxpHWcvhb0clOeM9TDrcXjZEAsrLjQXAkjeFjkpDu2EydD7b-iS-4YDerop7TN7P3KmgH9gUpFm3Z6Ree9OKQlXm1law0-1AzDcfkUoDoPZfvx-fLsKXYyGXdEK3eGSMg25t_nH2NtAbm3sBd2zKjqtzq5fbfbOiPV7IZDnfVs03HSXGI_J7uhseUtRJ8DGtHLhoiz5XuzjrDwdmM5b8_Y1XguhQneQJbsy-MtF2oXHqqHJ0Fo_Vq5Ld8ntb6LadlHuCxlyrLNFKPav6EUsRY0tqTA
2020-07-28 20:06:10 SUCCESS
ValidateIdTokenSignatureUsingKid
id_token signature validated
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoidHRsaG9NYThBOFBhdXdiQkExQnZ4USIsImF1ZCI6IllJNXpXYmtzNV9GS3VMZ0YxcGFSNyIsImV4cCI6MTU5NTk3MDM3MCwiaWF0IjoxNTk1OTY2NzcwLCJpc3MiOiJodHRwczovL29wLnBhbnZhLmN6In0.tmMkumAWAbpXD6SLLn1ksm46T77eIcNw2_lyUCkNtulASk8ZhYUaA3VaIfS9VxpHWcvhb0clOeM9TDrcXjZEAsrLjQXAkjeFjkpDu2EydD7b-iS-4YDerop7TN7P3KmgH9gUpFm3Z6Ree9OKQlXm1law0-1AzDcfkUoDoPZfvx-fLsKXYyGXdEK3eGSMg25t_nH2NtAbm3sBd2zKjqtzq5fbfbOiPV7IZDnfVs03HSXGI_J7uhseUtRJ8DGtHLhoiz5XuzjrDwdmM5b8_Y1XguhQneQJbsy-MtF2oXHqqHJ0Fo_Vq5Ld8ntb6LadlHuCxlyrLNFKPav6EUsRY0tqTA
2020-07-28 20:06:10 SUCCESS
CheckForSubjectInIdToken
Found 'sub' in id_token
sub
foo
2020-07-28 20:06:10 SUCCESS
VerifyIdTokenSubConsistentHybridFlow
authorization endpoint and token endpoint id_token have same sub
sub_auth_endpoint
foo
sub_token_endpoint
foo
Cycling keys in RP jwks_uri
2020-07-28 20:06:10 SUCCESS
GenerateRS256ClientJWKsWithKeyID
Generated client JWKs
client_jwks
{
  "keys": [
    {
      "p": "_OeyRA5oPDgNqBNrjyNcVdOSikr0T08NeoSvFfC3tUHo8CzQUQGcRjV4qKDQwRyFV-GHjzZMkGB-XS-JV_998rsSuPDQw0z8bRIhgvu8eKd0do2MJL8AklHQa3JASIJTLGPNDFYx4e5kW3y_q1O99JtbrQU9tvhUvMImNMibFcs",
      "kty": "RSA",
      "q": "ttuDSkuC6QEHQ9jlI3uRR8JCKxvBKCXuCxBZ5IdbKodMtjzJ3wIf1Qbqkj6VDTYw7uwJwaSjgmj18ohR87eP19iHkLjO0l8BGiIudNjF0tVk0HD2DuO78Udqfj_iYbu43cEurPspECSi-lF_8fFMdpcrSrAebedwV4zStJbTuZs",
      "d": "NebOQuoTTuFyTuv0d7WuDiTkSLIh4fWM4FWNHosSG6ahzGj7DX0oR4HE3QKSdfqNOewhZXmkRv3bKJB7EkAo45z9ttvJspHEMwYHJCxGvcp_J3rhOVtoxn8WzSW_zJrDN-uGAD0hdO-YBM3jWE5zMN5dRNlGVhJ8Etg95haUzQrGG5qSRT5ESIvVrRX8X63kloEJvEgPPCZL5JpRupMFGMd_7pg__hYRRLHeREDG0TVchthrZHnmFNG3GlIz-dR3Z8KIhUhAp35u82hOSr860FfHqy_ikze1_l6nyhmdL3ddk_4LQqhZVFFAzo0u8Duw1pr4WFVgaBxyT5JMq_aCDQ",
      "e": "AQAB",
      "use": "sig",
      "kid": "Kj-LmmpwlE_U8OO_jueHP-bY3ZfHC0fqWP2TGPy7Q_E",
      "qi": "Sz3XbWpSKtXJrwAdGeXQv76K6co0lqWYUc6r0a8lfEwNn-Ea26jk69ioG8YNKgO7Xnbon3bIhTCGamRn-M60lHx99g15Ek0pL1J3i-DBqscJlD3nWB5dyAxoGPaKX6HEgIFMJu1uVUvWXmrg1qvDAXhhxQvT-MuiGuTuXwxdxn4",
      "dp": "nT-_Mtu2agL8Us5IaYa2CdN0YTJ7t7hSjCRl7QFwaG5j1Lo4iLW0ol7q-AaN5hTCwELFlAFSF883ot9EyYddm4g_-ugZFeYPag4E8jluFaMhIfme8tYkF9Zw_e3bFHqcFpSzUQFjILSmh9AIKRH3oVjb5rfEiLjdj0Q0l0tISoM",
      "alg": "RS256",
      "dq": "oZ8oTlSr4tK73yYocdJYOLrkzUF82sWbvz-2lJ1m4RIxpanZLDmudRXl41lZWRIa8jLC9NtWgn_PU41WEjqe80M5n5sZgyvhx32K3lBzmcRvlSUi90om5j4fTHOe3o-T-L01SkO8qb4YJ3Q9yFVlJjS7WQqN-spjq56W5nOhtB0",
      "n": "tKWUpdhB_hk6uB6FV-juGhcZP2gR9mIyDz5s15b2zmglo1LtHYy9x6ff1PLPZjeF1p-FfJO-tX_P6Hu76KKVG1HnQWkd_y5rLPIB8KzyonqgFHLzXrlFAL6S3HAtsXWs2mYBmBHuWpRIyvCX8KDOhOWYwHmiLeilpfZZLp_Ueswbw73jE1m4pDWPoOevfNQyH8grl-3sSUpvxVGI3IvH6v4tsvSDEfCKpxVWGqY9_dSbCPZKwNnF7KDBWdolykBhDPv3KK8zpBjydYlX3lI3yvWHSPdJeSmHJbieEHafhYu01VFiKkyBeMt4apxR8qpec0mK7IKGNtMvJVZBcPbk6Q"
    }
  ]
}
public_client_jwks
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "kid": "Kj-LmmpwlE_U8OO_jueHP-bY3ZfHC0fqWP2TGPy7Q_E",
      "alg": "RS256",
      "n": "tKWUpdhB_hk6uB6FV-juGhcZP2gR9mIyDz5s15b2zmglo1LtHYy9x6ff1PLPZjeF1p-FfJO-tX_P6Hu76KKVG1HnQWkd_y5rLPIB8KzyonqgFHLzXrlFAL6S3HAtsXWs2mYBmBHuWpRIyvCX8KDOhOWYwHmiLeilpfZZLp_Ueswbw73jE1m4pDWPoOevfNQyH8grl-3sSUpvxVGI3IvH6v4tsvSDEfCKpxVWGqY9_dSbCPZKwNnF7KDBWdolykBhDPv3KK8zpBjydYlX3lI3yvWHSPdJeSmHJbieEHafhYu01VFiKkyBeMt4apxR8qpec0mK7IKGNtMvJVZBcPbk6Q"
    }
  ]
}
Waiting, so that any DoS limits on retrieving the jwks_uri too often are not triggered
2020-07-28 20:06:10 SUCCESS
WaitFor60Seconds
Pausing for 60 seconds
2020-07-28 20:07:10 SUCCESS
WaitFor60Seconds
Woke up after 60 seconds sleep
2020-07-28 20:07:10 SUCCESS
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
refresh_token
uwrHN-FwtOZwns2OmFtSJWHGiOXLbTmeMjRVlB-wPhq
2020-07-28 20:07:10 SUCCESS
EnsureServerConfigurationSupportsRefreshToken
The server configuration indicates support for refresh tokens
supported_grant_types
[
  "implicit",
  "authorization_code",
  "refresh_token",
  "urn:ietf:params:oauth:grant-type:device_code"
]
2020-07-28 20:07:10 SUCCESS
EnsureRefreshTokenContainsAllowedCharactersOnly
Refresh token does not contain any illegal characters
Refresh Token Request
2020-07-28 20:07:10 SUCCESS
CreateRefreshTokenRequest
Created token endpoint request parameters
grant_type
refresh_token
refresh_token
uwrHN-FwtOZwns2OmFtSJWHGiOXLbTmeMjRVlB-wPhq
2020-07-28 20:07:10 SUCCESS
AddScopeToTokenEndpointRequest
Added scope of 'openid offline_access' to token endpoint request
grant_type
refresh_token
refresh_token
uwrHN-FwtOZwns2OmFtSJWHGiOXLbTmeMjRVlB-wPhq
scope
openid offline_access
2020-07-28 20:07:10 SUCCESS
CreateClientAuthenticationAssertionClaims
Created client assertion claims
iss
YI5zWbks5_FKuLgF1paR7
sub
YI5zWbks5_FKuLgF1paR7
aud
https://op.panva.cz/token
jti
wcgMxjrFRUa4HoEvk1Up
iat
1595966830
exp
1595966890
2020-07-28 20:07:10 SUCCESS
SignClientAuthenticationAssertion
Signed the client assertion
client_assertion
eyJraWQiOiJLai1MbW1wd2xFX1U4T09fanVlSFAtYlkzWmZIQzBmcVdQMlRHUHk3UV9FIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJZSTV6V2JrczVfRkt1TGdGMXBhUjciLCJhdWQiOiJodHRwczpcL1wvb3AucGFudmEuY3pcL3Rva2VuIiwiaXNzIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTY2ODkwLCJpYXQiOjE1OTU5NjY4MzAsImp0aSI6IndjZ014anJGUlVhNEhvRXZrMVVwIn0.Hd83yMKzr3ZslZXoMd0s_bsqs48Pv-q0juuHSa9eoldwdlfb6sCXbsa9bThU9lmM6pSwcWoWMkaHLbeGz75p73wLvcvGr0pvObmG7BLc01yt09NSA9t75rlZpx4ZUE6Tr67uGEJ-82sN7YmYik7Rs3h0sQ3S7K0J76sUdHD4d00RqAZ-JeYu8oeJlQTANU2pPDt3-oWj5oE7tWYVz0fkF8Yl57zc73vSnbAJJa01MHoGyZCmf02C6uzcMyIl6cbP8-ipkLNYxXieX7DAX95m5-6vZUCL7R9UWmKX6478CYgJGTZ_UUJxNdn3le4fYbz1vBXk02eLCdxm8i2VLixHLw
2020-07-28 20:07:10
AddClientAssertionToTokenEndpointRequest
Added client assertion
grant_type
refresh_token
refresh_token
uwrHN-FwtOZwns2OmFtSJWHGiOXLbTmeMjRVlB-wPhq
scope
openid offline_access
client_assertion
eyJraWQiOiJLai1MbW1wd2xFX1U4T09fanVlSFAtYlkzWmZIQzBmcVdQMlRHUHk3UV9FIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJZSTV6V2JrczVfRkt1TGdGMXBhUjciLCJhdWQiOiJodHRwczpcL1wvb3AucGFudmEuY3pcL3Rva2VuIiwiaXNzIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTY2ODkwLCJpYXQiOjE1OTU5NjY4MzAsImp0aSI6IndjZ014anJGUlVhNEhvRXZrMVVwIn0.Hd83yMKzr3ZslZXoMd0s_bsqs48Pv-q0juuHSa9eoldwdlfb6sCXbsa9bThU9lmM6pSwcWoWMkaHLbeGz75p73wLvcvGr0pvObmG7BLc01yt09NSA9t75rlZpx4ZUE6Tr67uGEJ-82sN7YmYik7Rs3h0sQ3S7K0J76sUdHD4d00RqAZ-JeYu8oeJlQTANU2pPDt3-oWj5oE7tWYVz0fkF8Yl57zc73vSnbAJJa01MHoGyZCmf02C6uzcMyIl6cbP8-ipkLNYxXieX7DAX95m5-6vZUCL7R9UWmKX6478CYgJGTZ_UUJxNdn3le4fYbz1vBXk02eLCdxm8i2VLixHLw
client_assertion_type
urn:ietf:params:oauth:client-assertion-type:jwt-bearer
2020-07-28 20:07:10 SUCCESS
WaitForOneSecond
Pausing for 1 seconds
2020-07-28 20:07:11 SUCCESS
WaitForOneSecond
Woke up after 1 seconds sleep
2020-07-28 20:07:11
CallTokenEndpointAndReturnFullResponse
HTTP request
request_uri
https://op.panva.cz/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "864"
}
request_body
grant_type=refresh_token&refresh_token=uwrHN-FwtOZwns2OmFtSJWHGiOXLbTmeMjRVlB-wPhq&scope=openid+offline_access&client_assertion=eyJraWQiOiJLai1MbW1wd2xFX1U4T09fanVlSFAtYlkzWmZIQzBmcVdQMlRHUHk3UV9FIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJZSTV6V2JrczVfRkt1TGdGMXBhUjciLCJhdWQiOiJodHRwczpcL1wvb3AucGFudmEuY3pcL3Rva2VuIiwiaXNzIjoiWUk1eldia3M1X0ZLdUxnRjFwYVI3IiwiZXhwIjoxNTk1OTY2ODkwLCJpYXQiOjE1OTU5NjY4MzAsImp0aSI6IndjZ014anJGUlVhNEhvRXZrMVVwIn0.Hd83yMKzr3ZslZXoMd0s_bsqs48Pv-q0juuHSa9eoldwdlfb6sCXbsa9bThU9lmM6pSwcWoWMkaHLbeGz75p73wLvcvGr0pvObmG7BLc01yt09NSA9t75rlZpx4ZUE6Tr67uGEJ-82sN7YmYik7Rs3h0sQ3S7K0J76sUdHD4d00RqAZ-JeYu8oeJlQTANU2pPDt3-oWj5oE7tWYVz0fkF8Yl57zc73vSnbAJJa01MHoGyZCmf02C6uzcMyIl6cbP8-ipkLNYxXieX7DAX95m5-6vZUCL7R9UWmKX6478CYgJGTZ_UUJxNdn3le4fYbz1vBXk02eLCdxm8i2VLixHLw&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
2020-07-28 20:07:12 INCOMING
oidcc-refresh-token-rp-key-rotation
Incoming HTTP request to test instance OkMPJycLtL
incoming_headers
{
  "host": "www.certification.openid.net",
  "user-agent": "oidc-provider/6.28.0 (https://github.com/panva/node-oidc-provider)",
  "accept": "application/json",
  "accept-encoding": "gzip, deflate",
  "x-ssl-cipher": "ECDHE-RSA-AES128-GCM-SHA256",
  "x-ssl-protocol": "TLSv1.2",
  "connection": "close",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net"
}
incoming_path
jwks
incoming_body_form_params
incoming_method
GET
incoming_body_json
incoming_query_string_params
{}
incoming_body
2020-07-28 20:07:12 OUTGOING
oidcc-refresh-token-rp-key-rotation
Response to HTTP request to test instance OkMPJycLtL
outgoing_status_code
200
outgoing_headers
{
  "Content-Type": [
    "application/json"
  ]
}
outgoing_body
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "kid": "Kj-LmmpwlE_U8OO_jueHP-bY3ZfHC0fqWP2TGPy7Q_E",
      "alg": "RS256",
      "n": "tKWUpdhB_hk6uB6FV-juGhcZP2gR9mIyDz5s15b2zmglo1LtHYy9x6ff1PLPZjeF1p-FfJO-tX_P6Hu76KKVG1HnQWkd_y5rLPIB8KzyonqgFHLzXrlFAL6S3HAtsXWs2mYBmBHuWpRIyvCX8KDOhOWYwHmiLeilpfZZLp_Ueswbw73jE1m4pDWPoOevfNQyH8grl-3sSUpvxVGI3IvH6v4tsvSDEfCKpxVWGqY9_dSbCPZKwNnF7KDBWdolykBhDPv3KK8zpBjydYlX3lI3yvWHSPdJeSmHJbieEHafhYu01VFiKkyBeMt4apxR8qpec0mK7IKGNtMvJVZBcPbk6Q"
    }
  ]
}
outgoing_path
jwks
2020-07-28 20:07:12 RESPONSE
CallTokenEndpointAndReturnFullResponse
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "875",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Tue, 28 Jul 2020 20:07:12 GMT",
  "pragma": "no-cache",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-xss-protection": "1; mode\u003dblock"
}
response_body
{"access_token":"rLb_wSftSKGwhHBuNztdBXCIgzrzqOKliLOLdLvza2X","expires_in":3600,"id_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoidzFpN2RWVDVrVHpSTjNsTVlrVFlSUSIsImF1ZCI6IllJNXpXYmtzNV9GS3VMZ0YxcGFSNyIsImV4cCI6MTU5NTk3MDQzMiwiaWF0IjoxNTk1OTY2ODMyLCJpc3MiOiJodHRwczovL29wLnBhbnZhLmN6In0.g2O6KVbH-ajsVR-2ojc89UqBRecP5HWK_Afs4REAeAQEML6qrZeMpci27vQ-HWQ1qPFNpfELXyfCY4IQ5aQjJoUlXsDR-sspkYiUjB-rDfj5GUblJyjMMPHF22sBk91zqeJeHuxZZmdjJQ88c0U3BtCwoziF1oZY__92lhfQV0JPp3Zy6JEOWZqxL5DaxeXd2uc96kufYmgnkHqKgaIf3XkD9u-J80uMd1ta7Xk3_x0A0lYagy7-5ztytRG_lEzlJobPLteimKHn43tUP2OSlBhAlqlxBA-AwDTwJmMB6KDMTABk88B5NQL3gtLBEJt8GyH2XZIIp03r02qwCpIsoA","refresh_token":"uwrHN-FwtOZwns2OmFtSJWHGiOXLbTmeMjRVlB-wPhq","scope":"openid offline_access","token_type":"Bearer"}
2020-07-28 20:07:12 SUCCESS
CallTokenEndpointAndReturnFullResponse
Parsed token endpoint response
access_token
rLb_wSftSKGwhHBuNztdBXCIgzrzqOKliLOLdLvza2X
expires_in
3600
id_token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoidzFpN2RWVDVrVHpSTjNsTVlrVFlSUSIsImF1ZCI6IllJNXpXYmtzNV9GS3VMZ0YxcGFSNyIsImV4cCI6MTU5NTk3MDQzMiwiaWF0IjoxNTk1OTY2ODMyLCJpc3MiOiJodHRwczovL29wLnBhbnZhLmN6In0.g2O6KVbH-ajsVR-2ojc89UqBRecP5HWK_Afs4REAeAQEML6qrZeMpci27vQ-HWQ1qPFNpfELXyfCY4IQ5aQjJoUlXsDR-sspkYiUjB-rDfj5GUblJyjMMPHF22sBk91zqeJeHuxZZmdjJQ88c0U3BtCwoziF1oZY__92lhfQV0JPp3Zy6JEOWZqxL5DaxeXd2uc96kufYmgnkHqKgaIf3XkD9u-J80uMd1ta7Xk3_x0A0lYagy7-5ztytRG_lEzlJobPLteimKHn43tUP2OSlBhAlqlxBA-AwDTwJmMB6KDMTABk88B5NQL3gtLBEJt8GyH2XZIIp03r02qwCpIsoA
refresh_token
uwrHN-FwtOZwns2OmFtSJWHGiOXLbTmeMjRVlB-wPhq
scope
openid offline_access
token_type
Bearer
2020-07-28 20:07:12 SUCCESS
CheckTokenEndpointHttpStatus200
Token endpoint http status code was 200
2020-07-28 20:07:12 SUCCESS
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
2020-07-28 20:07:12 SUCCESS
CheckTokenEndpointCacheHeaders
Checked 'pragma' and 'cache-control' in the headers of token_endpoint_response.
2020-07-28 20:07:12 SUCCESS
CheckIfTokenEndpointResponseError
No error from token endpoint
2020-07-28 20:07:12 SUCCESS
ExtractAccessTokenFromTokenResponse
Extracted the access token
value
rLb_wSftSKGwhHBuNztdBXCIgzrzqOKliLOLdLvza2X
type
Bearer
2020-07-28 20:07:12 SUCCESS
CheckTokenTypeIsBearer
Token type is bearer
2020-07-28 20:07:12 SUCCESS
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
actual
199.3293844521902
expected
96.0
2020-07-28 20:07:12 SUCCESS
EnsureAccessTokenContainsAllowedCharactersOnly
Access token does not contain any illegal characters
2020-07-28 20:07:12 SUCCESS
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
expires_in
3600
2020-07-28 20:07:12 SUCCESS
ValidateExpiresIn
expires_in passed all validation checks
expires_in
3600
2020-07-28 20:07:12 SUCCESS
EnsureAccessTokenValuesAreDifferent
Access token values are not the same
first_access_token
DsbVQ-9pH05dtRBPUQt73BLQZA2rrygao_3PayenXgv
second_access_token
rLb_wSftSKGwhHBuNztdBXCIgzrzqOKliLOLdLvza2X
2020-07-28 20:07:12 SUCCESS
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
value
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiJmb28iLCJub25jZSI6Im80blVwRnZKVVYiLCJhdF9oYXNoIjoidzFpN2RWVDVrVHpSTjNsTVlrVFlSUSIsImF1ZCI6IllJNXpXYmtzNV9GS3VMZ0YxcGFSNyIsImV4cCI6MTU5NTk3MDQzMiwiaWF0IjoxNTk1OTY2ODMyLCJpc3MiOiJodHRwczovL29wLnBhbnZhLmN6In0.g2O6KVbH-ajsVR-2ojc89UqBRecP5HWK_Afs4REAeAQEML6qrZeMpci27vQ-HWQ1qPFNpfELXyfCY4IQ5aQjJoUlXsDR-sspkYiUjB-rDfj5GUblJyjMMPHF22sBk91zqeJeHuxZZmdjJQ88c0U3BtCwoziF1oZY__92lhfQV0JPp3Zy6JEOWZqxL5DaxeXd2uc96kufYmgnkHqKgaIf3XkD9u-J80uMd1ta7Xk3_x0A0lYagy7-5ztytRG_lEzlJobPLteimKHn43tUP2OSlBhAlqlxBA-AwDTwJmMB6KDMTABk88B5NQL3gtLBEJt8GyH2XZIIp03r02qwCpIsoA
header
{
  "kid": "r1LkbBo3925Rb2ZFFrKyU3MVex9T2817Kx0vbi6i_Kc",
  "typ": "JWT",
  "alg": "RS256"
}
claims
{
  "at_hash": "w1i7dVT5kTzRN3lMYkTYRQ",
  "sub": "foo",
  "aud": "YI5zWbks5_FKuLgF1paR7",
  "iss": "https://op.panva.cz",
  "exp": 1595970432,
  "nonce": "o4nUpFvJUV",
  "iat": 1595966832
}
2020-07-28 20:07:12 SUCCESS
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
refresh_token
uwrHN-FwtOZwns2OmFtSJWHGiOXLbTmeMjRVlB-wPhq
2020-07-28 20:07:12 SUCCESS
EnsureMinimumRefreshTokenLength
Refresh token is of sufficient length
actual
344
required
128
2020-07-28 20:07:12 SUCCESS
EnsureMinimumRefreshTokenEntropy
Calculated shannon entropy seems sufficient
actual
210.5744969500267
expected
96.0
2020-07-28 20:07:12 SUCCESS
CompareIdTokenClaims
Validated id token claims successfully
iss
{
  "first": "https://op.panva.cz",
  "second": "https://op.panva.cz",
  "note": "Values are expected to be equal"
}
sub
{
  "first": "foo",
  "second": "foo",
  "note": "Values are expected to be equal"
}
iat
{
  "first": 1595966770,
  "second": 1595966832,
  "note": "Values are expected to be different"
}
aud
{
  "first": "YI5zWbks5_FKuLgF1paR7",
  "second": "YI5zWbks5_FKuLgF1paR7",
  "note": "Values are expected to be equal"
}
azp
Id tokens do not contain azp claims
Userinfo endpoint tests
2020-07-28 20:07:12
CallProtectedResourceWithBearerToken
HTTP request
request_uri
https://op.panva.cz/me
request_method
GET
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Bearer rLb_wSftSKGwhHBuNztdBXCIgzrzqOKliLOLdLvza2X",
  "accept-charset": "utf-8",
  "content-length": "0"
}
request_body

                                
2020-07-28 20:07:13 RESPONSE
CallProtectedResourceWithBearerToken
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "13",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Tue, 28 Jul 2020 20:07:13 GMT",
  "pragma": "no-cache",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-xss-protection": "1; mode\u003dblock"
}
response_body
{"sub":"foo"}
2020-07-28 20:07:13 SUCCESS
CallProtectedResourceWithBearerToken
Got a response from the resource endpoint
headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "13",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Tue, 28 Jul 2020 20:07:13 GMT",
  "pragma": "no-cache",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-xss-protection": "1; mode\u003dblock"
}
status_code
{
  "code": 200
}
body
{"sub":"foo"}
2020-07-28 20:07:13 FINISHED
oidcc-refresh-token-rp-key-rotation
Test has run to completion
testmodule_result
PASSED
Unregister dynamically registered client
2020-07-28 20:07:13
UnregisterDynamicallyRegisteredClient
HTTP request
request_uri
https://op.panva.cz/reg/YI5zWbks5_FKuLgF1paR7
request_method
DELETE
request_headers
{
  "accept": "application/json",
  "accept-charset": "utf-8",
  "authorization": "Bearer nA39ETe_aXpOg3QSLltCkE6BIiDcoEX2UJKGs4mH6_i",
  "content-length": "0"
}
request_body

                                
2020-07-28 20:07:13 RESPONSE
UnregisterDynamicallyRegisteredClient
HTTP response
response_status_code
204 NO_CONTENT
response_status_text
No Content
response_headers
{
  "cache-control": "no-cache, no-store",
  "date": "Tue, 28 Jul 2020 20:07:13 GMT",
  "pragma": "no-cache",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-xss-protection": "1; mode\u003dblock"
}
response_body

                                
2020-07-28 20:07:13 SUCCESS
UnregisterDynamicallyRegisteredClient
Client successfully unregistered
Test Results