Test Summary

Test Results

Expand All Collapse All
All times are UTC
2020-07-31 12:46:34 INFO
TEST-RUNNER
Test instance dseJHERTbxK9Qkw created
baseUrl
https://www.certification.openid.net/test/a/oidf-authlete-core
variant
{
  "client_auth_type": "client_secret_basic",
  "response_type": "code",
  "server_metadata": "discovery",
  "response_mode": "form_post",
  "client_registration": "static_client"
}
alias
oidf-authlete-core
description
Authlete plain OIDC client secret basic
planId
iM9PqJdFT3z1Q
config
{
  "alias": "oidf-authlete-core",
  "description": "Authlete plain OIDC client secret basic",
  "publish": "everything",
  "server": {
    "discoveryUrl": "https://fapidev-as.authlete.net/.well-known/openid-configuration",
    "login_hint": "john"
  },
  "client": {
    "client_id": "470519824180317",
    "client_secret": "Ek2CiuOrmfdhvsjGl037_pscCmYseks4bzSSxc3UZUcr-9Ki2rlCRdg_Mt-Ukc9b-LpajnMUcwmzqgXs-eDKzw"
  },
  "client_secret_post": {
    "client_id": "469894541303688",
    "client_secret": "SGMsD1U1t0iZXChy0YtbnICAfU9ULEgh5MElWNX6iOq0sWYI0TGiTn-4mRDlhsSOQGfWoZwYWqKAubsbrY7nfA"
  },
  "client2": {
    "client_id": "470553331604632",
    "client_secret": "3NLezSFOjyxuERp_cH3zFMbym9oNur3NMdYIJWimiTHEKROvsDTT1-BVfo8AbLNiUgyIbbGcr79n7fkTL7D8qA"
  },
  "browser": [
    {
      "match": "https://fapidev-www.authlete.net/api/authorization*",
      "tasks": [
        {
          "task": "Initial Login",
          "optional": true,
          "match": "https://fapidev-www.authlete.net/api/authorization*",
          "commands": [
            [
              "text",
              "id",
              "loginId",
              "john",
              "optional"
            ],
            [
              "text",
              "id",
              "password",
              "john",
              "optional"
            ],
            [
              "click",
              "name",
              "authorized"
            ]
          ]
        },
        {
          "task": "Verify Complete",
          "match": "https://*/test/a/oidf-authlete-core/callback*",
          "commands": [
            [
              "wait",
              "id",
              "submission_complete",
              10
            ]
          ]
        }
      ]
    }
  ]
}
testName
oidcc-refresh-token
2020-07-31 12:46:34 SUCCESS
CreateRedirectUri
Created redirect URI
redirect_uri
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
2020-07-31 12:46:34
GetDynamicServerConfiguration
HTTP request
request_uri
https://fapidev-as.authlete.net/.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-31 12:46:35 RESPONSE
GetDynamicServerConfiguration
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "date": "Fri, 31 Jul 2020 12:46:34 GMT",
  "server": "Jetty(9.4.21-SNAPSHOT)",
  "cache-control": "no-store, no-transform",
  "pragma": "no-cache",
  "content-type": "application/json;charset\u003dutf-8",
  "content-length": "7070",
  "keep-alive": "timeout\u003d5, max\u003d100",
  "connection": "Keep-Alive"
}
response_body
{
  "issuer": "https://fapidev-as.authlete.net/",
  "authorization_endpoint": "https://fapidev-www.authlete.net/api/authorization",
  "token_endpoint": "https://fapidev-as.authlete.net/api/token",
  "userinfo_endpoint": "https://fapidev-rs.authlete.net/api/userinfo",
  "jwks_uri": "https://fapidev-as.authlete.net/api/jwks",
  "registration_endpoint": "https://fapidev-as.authlete.net/api/register",
  "scopes_supported": [
    "address",
    "email",
    "openid",
    "offline_access",
    "phone",
    "profile",
    "accounts",
    "accounts-ob",
    "payments"
  ],
  "response_types_supported": [
    "none",
    "code",
    "id_token",
    "code token",
    "code id_token",
    "id_token token",
    "code id_token token"
  ],
  "response_modes_supported": [
    "query",
    "fragment",
    "form_post",
    "query.jwt",
    "fragment.jwt",
    "form_post.jwt",
    "jwt"
  ],
  "grant_types_supported": [
    "authorization_code",
    "implicit",
    "password",
    "client_credentials",
    "refresh_token",
    "urn:openid:params:grant-type:ciba",
    "urn:ietf:params:oauth:grant-type:device_code"
  ],
  "acr_values_supported": [
    "urn:mace:incommon:iap:silver",
    "urn:openbanking:psd2:sca",
    "urn:openbanking:psd2:ca",
    "urn:cds.au:cdr:3",
    "urn:cds.au:cdr:2"
  ],
  "subject_types_supported": [
    "public",
    "pairwise"
  ],
  "id_token_signing_alg_values_supported": [
    "PS384",
    "RS384",
    "HS256",
    "HS512",
    "RS256",
    "HS384",
    "PS256",
    "PS512",
    "RS512"
  ],
  "id_token_encryption_alg_values_supported": [
    "RSA1_5",
    "RSA-OAEP",
    "RSA-OEAP-256",
    "ECDH-ES",
    "ECDH-ES+A128KW",
    "ECDH-ES+A192KW",
    "ECDH-ES+A256KW",
    "A128KW",
    "A192KW",
    "A256KW",
    "dir",
    "A128GCMKW",
    "A192GCMKW",
    "A256GCMKW",
    "PBES2-HS256+A128KW",
    "PBES2-HS384+A192KW",
    "PBES2-HS512+A256KW"
  ],
  "id_token_encryption_enc_values_supported": [
    "A128CBC-HS256",
    "A192CBC-HS384",
    "A256CBC-HS512",
    "A128GCM",
    "A192GCM",
    "A256GCM"
  ],
  "userinfo_signing_alg_values_supported": [
    "PS384",
    "RS384",
    "HS256",
    "HS512",
    "RS256",
    "HS384",
    "none",
    "PS256",
    "PS512",
    "RS512"
  ],
  "userinfo_encryption_alg_values_supported": [
    "RSA1_5",
    "RSA-OAEP",
    "RSA-OEAP-256",
    "ECDH-ES",
    "ECDH-ES+A128KW",
    "ECDH-ES+A192KW",
    "ECDH-ES+A256KW",
    "A128KW",
    "A192KW",
    "A256KW",
    "dir",
    "A128GCMKW",
    "A192GCMKW",
    "A256GCMKW",
    "PBES2-HS256+A128KW",
    "PBES2-HS384+A192KW",
    "PBES2-HS512+A256KW"
  ],
  "userinfo_encryption_enc_values_supported": [
    "A128CBC-HS256",
    "A192CBC-HS384",
    "A256CBC-HS512",
    "A128GCM",
    "A192GCM",
    "A256GCM"
  ],
  "request_object_signing_alg_values_supported": [
    "HS256",
    "HS384",
    "HS512",
    "RS256",
    "RS384",
    "RS512",
    "PS256",
    "PS384",
    "PS512",
    "ES256",
    "ES384",
    "ES512",
    "ES256K",
    "EdDSA",
    "none"
  ],
  "request_object_encryption_alg_values_supported": [
    "A192GCMKW",
    "RSA-OAEP",
    "dir",
    "A192KW",
    "A128GCMKW",
    "PBES2-HS256+A128KW",
    "PBES2-HS384+A192KW",
    "RSA-OEAP-256",
    "A128KW",
    "A256GCMKW",
    "A256KW",
    "RSA1_5",
    "PBES2-HS512+A256KW"
  ],
  "request_object_encryption_enc_values_supported": [
    "A128CBC-HS256",
    "A192CBC-HS384",
    "A256CBC-HS512",
    "A128GCM",
    "A192GCM",
    "A256GCM"
  ],
  "authorization_signing_alg_values_supported": [
    "PS384",
    "RS384",
    "HS256",
    "HS512",
    "RS256",
    "HS384",
    "PS256",
    "PS512",
    "RS512"
  ],
  "authorization_encryption_alg_values_supported": [
    "RSA1_5",
    "RSA-OAEP",
    "RSA-OEAP-256",
    "ECDH-ES",
    "ECDH-ES+A128KW",
    "ECDH-ES+A192KW",
    "ECDH-ES+A256KW",
    "A128KW",
    "A192KW",
    "A256KW",
    "dir",
    "A128GCMKW",
    "A192GCMKW",
    "A256GCMKW",
    "PBES2-HS256+A128KW",
    "PBES2-HS384+A192KW",
    "PBES2-HS512+A256KW"
  ],
  "authorization_encryption_enc_values_supported": [
    "A128CBC-HS256",
    "A192CBC-HS384",
    "A256CBC-HS512",
    "A128GCM",
    "A192GCM",
    "A256GCM"
  ],
  "token_endpoint_auth_methods_supported": [
    "none",
    "client_secret_basic",
    "client_secret_post",
    "client_secret_jwt",
    "private_key_jwt",
    "tls_client_auth",
    "self_signed_tls_client_auth"
  ],
  "token_endpoint_auth_signing_alg_values_supported": [
    "HS256",
    "HS384",
    "HS512",
    "RS256",
    "RS384",
    "RS512",
    "PS256",
    "PS384",
    "PS512",
    "ES256",
    "ES384",
    "ES512",
    "ES256K",
    "EdDSA"
  ],
  "display_values_supported": [
    "page",
    "popup",
    "touch",
    "wap"
  ],
  "claim_types_supported": [
    "normal"
  ],
  "claims_supported": [
    "sub",
    "website",
    "zoneinfo",
    "email_verified",
    "birthdate",
    "address",
    "gender",
    "profile",
    "phone_number_verified",
    "preferred_username",
    "given_name",
    "middle_name",
    "locale",
    "picture",
    "updated_at",
    "name",
    "nickname",
    "phone_number",
    "family_name",
    "email",
    "openbanking_intent_id",
    "acr"
  ],
  "claims_parameter_supported": true,
  "request_parameter_supported": true,
  "request_uri_parameter_supported": true,
  "require_request_uri_registration": true,
  "revocation_endpoint": "https://fapidev-as.authlete.net/api/revocation",
  "revocation_endpoint_auth_methods_supported": [],
  "revocation_endpoint_auth_signing_alg_values_supported": [
    "HS256",
    "HS384",
    "HS512",
    "RS256",
    "RS384",
    "RS512",
    "PS256",
    "PS384",
    "PS512",
    "ES256",
    "ES384",
    "ES512",
    "ES256K",
    "EdDSA"
  ],
  "introspection_endpoint_auth_methods_supported": [],
  "introspection_endpoint_auth_signing_alg_values_supported": [
    "HS256",
    "HS384",
    "HS512",
    "RS256",
    "RS384",
    "RS512",
    "PS256",
    "PS384",
    "PS512",
    "ES256",
    "ES384",
    "ES512",
    "ES256K",
    "EdDSA"
  ],
  "code_challenge_methods_supported": [
    "plain",
    "S256"
  ],
  "tls_client_certificate_bound_access_tokens": true,
  "backchannel_token_delivery_modes_supported": [
    "poll",
    "ping",
    "push"
  ],
  "backchannel_authentication_endpoint": "https://fapidev-as.authlete.net/api/backchannel/authentication",
  "backchannel_authentication_request_signing_alg_values_supported": [
    "RS256",
    "RS384",
    "RS512",
    "PS256",
    "PS384",
    "PS512",
    "ES256",
    "ES384",
    "ES512",
    "ES256K",
    "EdDSA"
  ],
  "backchannel_user_code_parameter_supported": true,
  "device_authorization_endpoint": "https://fapidev-as.authlete.net/api/device/authorization",
  "pushed_authorization_request_endpoint": "https://fapidev-as.authlete.net/api/par",
  "require_pushed_authorization_requests": false,
  "verified_claims_supported": false,
  "dpop_signing_alg_values_supported": [
    "RS256",
    "RS384",
    "RS512",
    "PS256",
    "PS384",
    "PS512",
    "ES256",
    "ES384",
    "ES512",
    "ES256K",
    "EdDSA"
  ]
}
2020-07-31 12:46:35
GetDynamicServerConfiguration
Downloaded server configuration
server_config_string
{
  "issuer": "https://fapidev-as.authlete.net/",
  "authorization_endpoint": "https://fapidev-www.authlete.net/api/authorization",
  "token_endpoint": "https://fapidev-as.authlete.net/api/token",
  "userinfo_endpoint": "https://fapidev-rs.authlete.net/api/userinfo",
  "jwks_uri": "https://fapidev-as.authlete.net/api/jwks",
  "registration_endpoint": "https://fapidev-as.authlete.net/api/register",
  "scopes_supported": [
    "address",
    "email",
    "openid",
    "offline_access",
    "phone",
    "profile",
    "accounts",
    "accounts-ob",
    "payments"
  ],
  "response_types_supported": [
    "none",
    "code",
    "id_token",
    "code token",
    "code id_token",
    "id_token token",
    "code id_token token"
  ],
  "response_modes_supported": [
    "query",
    "fragment",
    "form_post",
    "query.jwt",
    "fragment.jwt",
    "form_post.jwt",
    "jwt"
  ],
  "grant_types_supported": [
    "authorization_code",
    "implicit",
    "password",
    "client_credentials",
    "refresh_token",
    "urn:openid:params:grant-type:ciba",
    "urn:ietf:params:oauth:grant-type:device_code"
  ],
  "acr_values_supported": [
    "urn:mace:incommon:iap:silver",
    "urn:openbanking:psd2:sca",
    "urn:openbanking:psd2:ca",
    "urn:cds.au:cdr:3",
    "urn:cds.au:cdr:2"
  ],
  "subject_types_supported": [
    "public",
    "pairwise"
  ],
  "id_token_signing_alg_values_supported": [
    "PS384",
    "RS384",
    "HS256",
    "HS512",
    "RS256",
    "HS384",
    "PS256",
    "PS512",
    "RS512"
  ],
  "id_token_encryption_alg_values_supported": [
    "RSA1_5",
    "RSA-OAEP",
    "RSA-OEAP-256",
    "ECDH-ES",
    "ECDH-ES+A128KW",
    "ECDH-ES+A192KW",
    "ECDH-ES+A256KW",
    "A128KW",
    "A192KW",
    "A256KW",
    "dir",
    "A128GCMKW",
    "A192GCMKW",
    "A256GCMKW",
    "PBES2-HS256+A128KW",
    "PBES2-HS384+A192KW",
    "PBES2-HS512+A256KW"
  ],
  "id_token_encryption_enc_values_supported": [
    "A128CBC-HS256",
    "A192CBC-HS384",
    "A256CBC-HS512",
    "A128GCM",
    "A192GCM",
    "A256GCM"
  ],
  "userinfo_signing_alg_values_supported": [
    "PS384",
    "RS384",
    "HS256",
    "HS512",
    "RS256",
    "HS384",
    "none",
    "PS256",
    "PS512",
    "RS512"
  ],
  "userinfo_encryption_alg_values_supported": [
    "RSA1_5",
    "RSA-OAEP",
    "RSA-OEAP-256",
    "ECDH-ES",
    "ECDH-ES+A128KW",
    "ECDH-ES+A192KW",
    "ECDH-ES+A256KW",
    "A128KW",
    "A192KW",
    "A256KW",
    "dir",
    "A128GCMKW",
    "A192GCMKW",
    "A256GCMKW",
    "PBES2-HS256+A128KW",
    "PBES2-HS384+A192KW",
    "PBES2-HS512+A256KW"
  ],
  "userinfo_encryption_enc_values_supported": [
    "A128CBC-HS256",
    "A192CBC-HS384",
    "A256CBC-HS512",
    "A128GCM",
    "A192GCM",
    "A256GCM"
  ],
  "request_object_signing_alg_values_supported": [
    "HS256",
    "HS384",
    "HS512",
    "RS256",
    "RS384",
    "RS512",
    "PS256",
    "PS384",
    "PS512",
    "ES256",
    "ES384",
    "ES512",
    "ES256K",
    "EdDSA",
    "none"
  ],
  "request_object_encryption_alg_values_supported": [
    "A192GCMKW",
    "RSA-OAEP",
    "dir",
    "A192KW",
    "A128GCMKW",
    "PBES2-HS256+A128KW",
    "PBES2-HS384+A192KW",
    "RSA-OEAP-256",
    "A128KW",
    "A256GCMKW",
    "A256KW",
    "RSA1_5",
    "PBES2-HS512+A256KW"
  ],
  "request_object_encryption_enc_values_supported": [
    "A128CBC-HS256",
    "A192CBC-HS384",
    "A256CBC-HS512",
    "A128GCM",
    "A192GCM",
    "A256GCM"
  ],
  "authorization_signing_alg_values_supported": [
    "PS384",
    "RS384",
    "HS256",
    "HS512",
    "RS256",
    "HS384",
    "PS256",
    "PS512",
    "RS512"
  ],
  "authorization_encryption_alg_values_supported": [
    "RSA1_5",
    "RSA-OAEP",
    "RSA-OEAP-256",
    "ECDH-ES",
    "ECDH-ES+A128KW",
    "ECDH-ES+A192KW",
    "ECDH-ES+A256KW",
    "A128KW",
    "A192KW",
    "A256KW",
    "dir",
    "A128GCMKW",
    "A192GCMKW",
    "A256GCMKW",
    "PBES2-HS256+A128KW",
    "PBES2-HS384+A192KW",
    "PBES2-HS512+A256KW"
  ],
  "authorization_encryption_enc_values_supported": [
    "A128CBC-HS256",
    "A192CBC-HS384",
    "A256CBC-HS512",
    "A128GCM",
    "A192GCM",
    "A256GCM"
  ],
  "token_endpoint_auth_methods_supported": [
    "none",
    "client_secret_basic",
    "client_secret_post",
    "client_secret_jwt",
    "private_key_jwt",
    "tls_client_auth",
    "self_signed_tls_client_auth"
  ],
  "token_endpoint_auth_signing_alg_values_supported": [
    "HS256",
    "HS384",
    "HS512",
    "RS256",
    "RS384",
    "RS512",
    "PS256",
    "PS384",
    "PS512",
    "ES256",
    "ES384",
    "ES512",
    "ES256K",
    "EdDSA"
  ],
  "display_values_supported": [
    "page",
    "popup",
    "touch",
    "wap"
  ],
  "claim_types_supported": [
    "normal"
  ],
  "claims_supported": [
    "sub",
    "website",
    "zoneinfo",
    "email_verified",
    "birthdate",
    "address",
    "gender",
    "profile",
    "phone_number_verified",
    "preferred_username",
    "given_name",
    "middle_name",
    "locale",
    "picture",
    "updated_at",
    "name",
    "nickname",
    "phone_number",
    "family_name",
    "email",
    "openbanking_intent_id",
    "acr"
  ],
  "claims_parameter_supported": true,
  "request_parameter_supported": true,
  "request_uri_parameter_supported": true,
  "require_request_uri_registration": true,
  "revocation_endpoint": "https://fapidev-as.authlete.net/api/revocation",
  "revocation_endpoint_auth_methods_supported": [],
  "revocation_endpoint_auth_signing_alg_values_supported": [
    "HS256",
    "HS384",
    "HS512",
    "RS256",
    "RS384",
    "RS512",
    "PS256",
    "PS384",
    "PS512",
    "ES256",
    "ES384",
    "ES512",
    "ES256K",
    "EdDSA"
  ],
  "introspection_endpoint_auth_methods_supported": [],
  "introspection_endpoint_auth_signing_alg_values_supported": [
    "HS256",
    "HS384",
    "HS512",
    "RS256",
    "RS384",
    "RS512",
    "PS256",
    "PS384",
    "PS512",
    "ES256",
    "ES384",
    "ES512",
    "ES256K",
    "EdDSA"
  ],
  "code_challenge_methods_supported": [
    "plain",
    "S256"
  ],
  "tls_client_certificate_bound_access_tokens": true,
  "backchannel_token_delivery_modes_supported": [
    "poll",
    "ping",
    "push"
  ],
  "backchannel_authentication_endpoint": "https://fapidev-as.authlete.net/api/backchannel/authentication",
  "backchannel_authentication_request_signing_alg_values_supported": [
    "RS256",
    "RS384",
    "RS512",
    "PS256",
    "PS384",
    "PS512",
    "ES256",
    "ES384",
    "ES512",
    "ES256K",
    "EdDSA"
  ],
  "backchannel_user_code_parameter_supported": true,
  "device_authorization_endpoint": "https://fapidev-as.authlete.net/api/device/authorization",
  "pushed_authorization_request_endpoint": "https://fapidev-as.authlete.net/api/par",
  "require_pushed_authorization_requests": false,
  "verified_claims_supported": false,
  "dpop_signing_alg_values_supported": [
    "RS256",
    "RS384",
    "RS512",
    "PS256",
    "PS384",
    "PS512",
    "ES256",
    "ES384",
    "ES512",
    "ES256K",
    "EdDSA"
  ]
}
2020-07-31 12:46:35 SUCCESS
GetDynamicServerConfiguration
Successfully parsed server configuration
issuer
https://fapidev-as.authlete.net/
authorization_endpoint
https://fapidev-www.authlete.net/api/authorization
token_endpoint
https://fapidev-as.authlete.net/api/token
userinfo_endpoint
https://fapidev-rs.authlete.net/api/userinfo
jwks_uri
https://fapidev-as.authlete.net/api/jwks
registration_endpoint
https://fapidev-as.authlete.net/api/register
scopes_supported
[
  "address",
  "email",
  "openid",
  "offline_access",
  "phone",
  "profile",
  "accounts",
  "accounts-ob",
  "payments"
]
response_types_supported
[
  "none",
  "code",
  "id_token",
  "code token",
  "code id_token",
  "id_token token",
  "code id_token token"
]
response_modes_supported
[
  "query",
  "fragment",
  "form_post",
  "query.jwt",
  "fragment.jwt",
  "form_post.jwt",
  "jwt"
]
grant_types_supported
[
  "authorization_code",
  "implicit",
  "password",
  "client_credentials",
  "refresh_token",
  "urn:openid:params:grant-type:ciba",
  "urn:ietf:params:oauth:grant-type:device_code"
]
acr_values_supported
[
  "urn:mace:incommon:iap:silver",
  "urn:openbanking:psd2:sca",
  "urn:openbanking:psd2:ca",
  "urn:cds.au:cdr:3",
  "urn:cds.au:cdr:2"
]
subject_types_supported
[
  "public",
  "pairwise"
]
id_token_signing_alg_values_supported
[
  "PS384",
  "RS384",
  "HS256",
  "HS512",
  "RS256",
  "HS384",
  "PS256",
  "PS512",
  "RS512"
]
id_token_encryption_alg_values_supported
[
  "RSA1_5",
  "RSA-OAEP",
  "RSA-OEAP-256",
  "ECDH-ES",
  "ECDH-ES+A128KW",
  "ECDH-ES+A192KW",
  "ECDH-ES+A256KW",
  "A128KW",
  "A192KW",
  "A256KW",
  "dir",
  "A128GCMKW",
  "A192GCMKW",
  "A256GCMKW",
  "PBES2-HS256+A128KW",
  "PBES2-HS384+A192KW",
  "PBES2-HS512+A256KW"
]
id_token_encryption_enc_values_supported
[
  "A128CBC-HS256",
  "A192CBC-HS384",
  "A256CBC-HS512",
  "A128GCM",
  "A192GCM",
  "A256GCM"
]
userinfo_signing_alg_values_supported
[
  "PS384",
  "RS384",
  "HS256",
  "HS512",
  "RS256",
  "HS384",
  "none",
  "PS256",
  "PS512",
  "RS512"
]
userinfo_encryption_alg_values_supported
[
  "RSA1_5",
  "RSA-OAEP",
  "RSA-OEAP-256",
  "ECDH-ES",
  "ECDH-ES+A128KW",
  "ECDH-ES+A192KW",
  "ECDH-ES+A256KW",
  "A128KW",
  "A192KW",
  "A256KW",
  "dir",
  "A128GCMKW",
  "A192GCMKW",
  "A256GCMKW",
  "PBES2-HS256+A128KW",
  "PBES2-HS384+A192KW",
  "PBES2-HS512+A256KW"
]
userinfo_encryption_enc_values_supported
[
  "A128CBC-HS256",
  "A192CBC-HS384",
  "A256CBC-HS512",
  "A128GCM",
  "A192GCM",
  "A256GCM"
]
request_object_signing_alg_values_supported
[
  "HS256",
  "HS384",
  "HS512",
  "RS256",
  "RS384",
  "RS512",
  "PS256",
  "PS384",
  "PS512",
  "ES256",
  "ES384",
  "ES512",
  "ES256K",
  "EdDSA",
  "none"
]
request_object_encryption_alg_values_supported
[
  "A192GCMKW",
  "RSA-OAEP",
  "dir",
  "A192KW",
  "A128GCMKW",
  "PBES2-HS256+A128KW",
  "PBES2-HS384+A192KW",
  "RSA-OEAP-256",
  "A128KW",
  "A256GCMKW",
  "A256KW",
  "RSA1_5",
  "PBES2-HS512+A256KW"
]
request_object_encryption_enc_values_supported
[
  "A128CBC-HS256",
  "A192CBC-HS384",
  "A256CBC-HS512",
  "A128GCM",
  "A192GCM",
  "A256GCM"
]
authorization_signing_alg_values_supported
[
  "PS384",
  "RS384",
  "HS256",
  "HS512",
  "RS256",
  "HS384",
  "PS256",
  "PS512",
  "RS512"
]
authorization_encryption_alg_values_supported
[
  "RSA1_5",
  "RSA-OAEP",
  "RSA-OEAP-256",
  "ECDH-ES",
  "ECDH-ES+A128KW",
  "ECDH-ES+A192KW",
  "ECDH-ES+A256KW",
  "A128KW",
  "A192KW",
  "A256KW",
  "dir",
  "A128GCMKW",
  "A192GCMKW",
  "A256GCMKW",
  "PBES2-HS256+A128KW",
  "PBES2-HS384+A192KW",
  "PBES2-HS512+A256KW"
]
authorization_encryption_enc_values_supported
[
  "A128CBC-HS256",
  "A192CBC-HS384",
  "A256CBC-HS512",
  "A128GCM",
  "A192GCM",
  "A256GCM"
]
token_endpoint_auth_methods_supported
[
  "none",
  "client_secret_basic",
  "client_secret_post",
  "client_secret_jwt",
  "private_key_jwt",
  "tls_client_auth",
  "self_signed_tls_client_auth"
]
token_endpoint_auth_signing_alg_values_supported
[
  "HS256",
  "HS384",
  "HS512",
  "RS256",
  "RS384",
  "RS512",
  "PS256",
  "PS384",
  "PS512",
  "ES256",
  "ES384",
  "ES512",
  "ES256K",
  "EdDSA"
]
display_values_supported
[
  "page",
  "popup",
  "touch",
  "wap"
]
claim_types_supported
[
  "normal"
]
claims_supported
[
  "sub",
  "website",
  "zoneinfo",
  "email_verified",
  "birthdate",
  "address",
  "gender",
  "profile",
  "phone_number_verified",
  "preferred_username",
  "given_name",
  "middle_name",
  "locale",
  "picture",
  "updated_at",
  "name",
  "nickname",
  "phone_number",
  "family_name",
  "email",
  "openbanking_intent_id",
  "acr"
]
claims_parameter_supported
true
request_parameter_supported
true
request_uri_parameter_supported
true
require_request_uri_registration
true
revocation_endpoint
https://fapidev-as.authlete.net/api/revocation
revocation_endpoint_auth_methods_supported
[]
revocation_endpoint_auth_signing_alg_values_supported
[
  "HS256",
  "HS384",
  "HS512",
  "RS256",
  "RS384",
  "RS512",
  "PS256",
  "PS384",
  "PS512",
  "ES256",
  "ES384",
  "ES512",
  "ES256K",
  "EdDSA"
]
introspection_endpoint_auth_methods_supported
[]
introspection_endpoint_auth_signing_alg_values_supported
[
  "HS256",
  "HS384",
  "HS512",
  "RS256",
  "RS384",
  "RS512",
  "PS256",
  "PS384",
  "PS512",
  "ES256",
  "ES384",
  "ES512",
  "ES256K",
  "EdDSA"
]
code_challenge_methods_supported
[
  "plain",
  "S256"
]
tls_client_certificate_bound_access_tokens
true
backchannel_token_delivery_modes_supported
[
  "poll",
  "ping",
  "push"
]
backchannel_authentication_endpoint
https://fapidev-as.authlete.net/api/backchannel/authentication
backchannel_authentication_request_signing_alg_values_supported
[
  "RS256",
  "RS384",
  "RS512",
  "PS256",
  "PS384",
  "PS512",
  "ES256",
  "ES384",
  "ES512",
  "ES256K",
  "EdDSA"
]
backchannel_user_code_parameter_supported
true
device_authorization_endpoint
https://fapidev-as.authlete.net/api/device/authorization
pushed_authorization_request_endpoint
https://fapidev-as.authlete.net/api/par
require_pushed_authorization_requests
false
verified_claims_supported
false
dpop_signing_alg_values_supported
[
  "RS256",
  "RS384",
  "RS512",
  "PS256",
  "PS384",
  "PS512",
  "ES256",
  "ES384",
  "ES512",
  "ES256K",
  "EdDSA"
]
2020-07-31 12:46:35 SUCCESS
CheckServerConfiguration
Found required server configuration keys
required
[
  "authorization_endpoint",
  "token_endpoint",
  "issuer"
]
2020-07-31 12:46:35 SUCCESS
ExtractTLSTestValuesFromServerConfiguration
Extracted TLS information from authorization server configuration
registration_endpoint
{
  "testHost": "fapidev-as.authlete.net",
  "testPort": 443
}
authorization_endpoint
{
  "testHost": "fapidev-www.authlete.net",
  "testPort": 443
}
token_endpoint
{
  "testHost": "fapidev-as.authlete.net",
  "testPort": 443
}
userinfo_endpoint
{
  "testHost": "fapidev-rs.authlete.net",
  "testPort": 443
}
2020-07-31 12:46:35
FetchServerKeys
Fetching server key
jwks_uri
https://fapidev-as.authlete.net/api/jwks
2020-07-31 12:46:35
FetchServerKeys
HTTP request
request_uri
https://fapidev-as.authlete.net/api/jwks
request_method
GET
request_headers
{
  "accept": "text/plain, application/json, application/cbor, application/*+json, */*",
  "content-length": "0"
}
request_body

                                
2020-07-31 12:46:35 RESPONSE
FetchServerKeys
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "date": "Fri, 31 Jul 2020 12:46:35 GMT",
  "server": "Jetty(9.4.21-SNAPSHOT)",
  "cache-control": "no-store, no-transform",
  "pragma": "no-cache",
  "content-type": "application/json;charset\u003dutf-8",
  "content-length": "472",
  "keep-alive": "timeout\u003d5, max\u003d100",
  "connection": "Keep-Alive"
}
response_body
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "kid": "authlete-fapidev-api-20180524",
      "n": "nJclr5TJ3Y21Ggt0lz2EO7wWKn6jTaIlMv1sNMy2VmkcSf8EVsFqJ1vSXjFxWvBj7RolFCyaChFwI_jog9c2rAkIwF8Voi5eB3PRjl3OaNRUYILRgLsaclTj02NWMvwbiJ18yJ63D4Ojzif8_RyAHuM3HO2rs6nPEyZMW3Xd0z3Lw099TpIcxA4Ktfo2DliUfMZh9s3lB_f6DSxX5Z9CXqrzNsoCCxqJZ55WuUUNA4LmYl5OgrH8sD7_TvY1QTjjmRzUptgj1S-gwagIjrkn9ooALa8gRN4etKztA2topBn0KO2VwEo_P4iejBn2Z3I2FlQnDNu0t7xNwBhsM2Vg8Q"
    }
  ]
}
2020-07-31 12:46:35
FetchServerKeys
Found JWK set string
jwk_string
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "kid": "authlete-fapidev-api-20180524",
      "n": "nJclr5TJ3Y21Ggt0lz2EO7wWKn6jTaIlMv1sNMy2VmkcSf8EVsFqJ1vSXjFxWvBj7RolFCyaChFwI_jog9c2rAkIwF8Voi5eB3PRjl3OaNRUYILRgLsaclTj02NWMvwbiJ18yJ63D4Ojzif8_RyAHuM3HO2rs6nPEyZMW3Xd0z3Lw099TpIcxA4Ktfo2DliUfMZh9s3lB_f6DSxX5Z9CXqrzNsoCCxqJZ55WuUUNA4LmYl5OgrH8sD7_TvY1QTjjmRzUptgj1S-gwagIjrkn9ooALa8gRN4etKztA2topBn0KO2VwEo_P4iejBn2Z3I2FlQnDNu0t7xNwBhsM2Vg8Q"
    }
  ]
}
2020-07-31 12:46:35 SUCCESS
FetchServerKeys
Found server JWK set
server_jwks
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "kid": "authlete-fapidev-api-20180524",
      "n": "nJclr5TJ3Y21Ggt0lz2EO7wWKn6jTaIlMv1sNMy2VmkcSf8EVsFqJ1vSXjFxWvBj7RolFCyaChFwI_jog9c2rAkIwF8Voi5eB3PRjl3OaNRUYILRgLsaclTj02NWMvwbiJ18yJ63D4Ojzif8_RyAHuM3HO2rs6nPEyZMW3Xd0z3Lw099TpIcxA4Ktfo2DliUfMZh9s3lB_f6DSxX5Z9CXqrzNsoCCxqJZ55WuUUNA4LmYl5OgrH8sD7_TvY1QTjjmRzUptgj1S-gwagIjrkn9ooALa8gRN4etKztA2topBn0KO2VwEo_P4iejBn2Z3I2FlQnDNu0t7xNwBhsM2Vg8Q"
    }
  ]
}
2020-07-31 12:46:35 SUCCESS
CheckServerKeysIsValid
Server JWKs is valid
server_jwks
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "kid": "authlete-fapidev-api-20180524",
      "n": "nJclr5TJ3Y21Ggt0lz2EO7wWKn6jTaIlMv1sNMy2VmkcSf8EVsFqJ1vSXjFxWvBj7RolFCyaChFwI_jog9c2rAkIwF8Voi5eB3PRjl3OaNRUYILRgLsaclTj02NWMvwbiJ18yJ63D4Ojzif8_RyAHuM3HO2rs6nPEyZMW3Xd0z3Lw099TpIcxA4Ktfo2DliUfMZh9s3lB_f6DSxX5Z9CXqrzNsoCCxqJZ55WuUUNA4LmYl5OgrH8sD7_TvY1QTjjmRzUptgj1S-gwagIjrkn9ooALa8gRN4etKztA2topBn0KO2VwEo_P4iejBn2Z3I2FlQnDNu0t7xNwBhsM2Vg8Q"
    }
  ]
}
2020-07-31 12:46:35 SUCCESS
ValidateServerJWKs
Valid server JWKs: keys are valid JSON, contain the required fields and are correctly encoded using unpadded base64url
2020-07-31 12:46:35 SUCCESS
CheckForKeyIdInServerJWKs
All keys contain kids
2020-07-31 12:46:35 SUCCESS
CheckDistinctKeyIdValueInServerJWKs
Distinct 'kid' value in all keys of server_jwks
see
https://bitbucket.org/openid/connect/issues/1127
2020-07-31 12:46:35 SUCCESS
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
2020-07-31 12:46:35 SUCCESS
GetStaticClientConfiguration
Found a static client object
client_id
470519824180317
client_secret
Ek2CiuOrmfdhvsjGl037_pscCmYseks4bzSSxc3UZUcr-9Ki2rlCRdg_Mt-Ukc9b-LpajnMUcwmzqgXs-eDKzw
2020-07-31 12:46:35
SetScopeInClientConfigurationToOpenId
Set scope in client configuration to "openid"
scope
openid
2020-07-31 12:46:35
SetScopeInClientConfigurationToOpenIdOfflineAccessIfServerSupportsOfflineAccess
Set scope in client configuration to "openid offline_access"as 'scope_supported' contains 'offline_access'
scope
openid offline_access
2020-07-31 12:46:35 SUCCESS
EnsureServerConfigurationSupportsClientSecretBasic
token_endpoint_auth_methods_supported
actual
[
  "none",
  "client_secret_basic",
  "client_secret_post",
  "client_secret_jwt",
  "private_key_jwt",
  "tls_client_auth",
  "self_signed_tls_client_auth"
]
expected
[
  "client_secret_basic"
]
minimum_matches_required
1
2020-07-31 12:46:35 SUCCESS
GetStaticClient2Configuration
Found a static second client object
client_id
470553331604632
client_secret
3NLezSFOjyxuERp_cH3zFMbym9oNur3NMdYIJWimiTHEKROvsDTT1-BVfo8AbLNiUgyIbbGcr79n7fkTL7D8qA
2020-07-31 12:46:35
SetScopeInClientConfigurationToOpenId
Set scope in client configuration to "openid"
scope
openid
2020-07-31 12:46:35
SetScopeInClientConfigurationToOpenIdOfflineAccessIfServerSupportsOfflineAccess
Set scope in client configuration to "openid offline_access"as 'scope_supported' contains 'offline_access'
scope
openid offline_access
2020-07-31 12:46:35 SUCCESS
EnsureServerConfigurationSupportsClientSecretBasic
token_endpoint_auth_methods_supported
actual
[
  "none",
  "client_secret_basic",
  "client_secret_post",
  "client_secret_jwt",
  "private_key_jwt",
  "tls_client_auth",
  "self_signed_tls_client_auth"
]
expected
[
  "client_secret_basic"
]
minimum_matches_required
1
2020-07-31 12:46:35 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://fapidev-rs.authlete.net/api/userinfo
2020-07-31 12:46:35
oidcc-refresh-token
Setup Done
Make request to authorization endpoint
2020-07-31 12:46:35 SUCCESS
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
client_id
470519824180317
redirect_uri
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
scope
openid offline_access
2020-07-31 12:46:35
CreateRandomStateValue
Created state value
requested_state_length
10
state
z3d0rSoodb
2020-07-31 12:46:35 SUCCESS
AddStateToAuthorizationEndpointRequest
Added state parameter to request
client_id
470519824180317
redirect_uri
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
scope
openid offline_access
state
z3d0rSoodb
2020-07-31 12:46:35
CreateRandomNonceValue
Created nonce value
requested_nonce_length
10
nonce
pwIETJOi0Z
2020-07-31 12:46:35 SUCCESS
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
client_id
470519824180317
redirect_uri
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
scope
openid offline_access
state
z3d0rSoodb
nonce
pwIETJOi0Z
2020-07-31 12:46:35 SUCCESS
SetAuthorizationEndpointRequestResponseTypeFromEnvironment
Added response_type parameter to request
client_id
470519824180317
redirect_uri
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
scope
openid offline_access
state
z3d0rSoodb
nonce
pwIETJOi0Z
response_type
code
2020-07-31 12:46:35
SetAuthorizationEndpointRequestResponseModeToFormPost
Added response_mode parameter to request
client_id
470519824180317
redirect_uri
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
scope
openid offline_access
state
z3d0rSoodb
nonce
pwIETJOi0Z
response_type
code
response_mode
form_post
2020-07-31 12:46:35 SUCCESS
AddPromptConsentToAuthorizationEndpointRequestIfScopeContainsOfflineAccess
Added prompt=consent to authorization endpoint request
client_id
470519824180317
redirect_uri
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
scope
openid offline_access
state
z3d0rSoodb
nonce
pwIETJOi0Z
response_type
code
response_mode
form_post
prompt
consent
2020-07-31 12:46:35 SUCCESS
BuildPlainRedirectToAuthorizationEndpoint
Sending to authorization endpoint
redirect_to_authorization_endpoint
https://fapidev-www.authlete.net/api/authorization?client_id=470519824180317&redirect_uri=https://www.certification.openid.net/test/a/oidf-authlete-core/callback&scope=openid%20offline_access&state=z3d0rSoodb&nonce=pwIETJOi0Z&response_type=code&response_mode=form_post&prompt=consent
2020-07-31 12:46:35 REDIRECT
oidcc-refresh-token
Redirecting to authorization endpoint
redirect_to
https://fapidev-www.authlete.net/api/authorization?client_id=470519824180317&redirect_uri=https://www.certification.openid.net/test/a/oidf-authlete-core/callback&scope=openid%20offline_access&state=z3d0rSoodb&nonce=pwIETJOi0Z&response_type=code&response_mode=form_post&prompt=consent
2020-07-31 12:46:35
WebRunner
Scripted browser HTTP request
browser
goToUrl
request_method
GET
request_uri
https://fapidev-www.authlete.net/api/authorization?client_id=470519824180317&redirect_uri=https://www.certification.openid.net/test/a/oidf-authlete-core/callback&scope=openid%20offline_access&state=z3d0rSoodb&nonce=pwIETJOi0Z&response_type=code&response_mode=form_post&prompt=consent
2020-07-31 12:46:35 RESPONSE
WebRunner
Scripted browser HTTP response
response_content
<!doctype html>
<!---->
<!--




-->
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
  <title>FAPI Test Service | Authorization</title>
  <link rel="stylesheet" href="/css/authorization.css">
  <!--  //-->
</head>
<body class="font-default">
  <div id="page_title">FAPI Test Service</div>

  <div id="content">
    <h3 id="client-name">core conformance client secret basic</h3>
    <div class="indent">
      <img id="logo" src="https://button.heenan.me.uk/~joseph/authlete-150x150.png" alt="[Logo] (150x150)">

      <div id="client-summary">
        <p>core conformance client secret basic</p>
        <ul id="client-link-list">
          

          

          
        </ul>
      </div>

      <div style="clear: both;"></div>
    </div>

    
    <h4 id="permissions">Permissions</h4>
    <div class="indent">
      <p>The application is requesting the following permissions.</p>

      <dl id="scope-list">
        
        <dt>offline_access</dt>
        <dd>A permission to request a refresh token exchangeable with an access token which can access the UserInfo Endpoint even when the end-user is offline. See OpenID Connect Core 1.0, 11. for details.</dd>
        
        <dt>openid</dt>
        <dd>A permission to request an OpenID Provider to issue an ID Token. See OpenID Connect Core 1.0, 3.1.2.1. for details.</dd>
        
      </dl>
    </div>
    

    

    

    <h4 id="authorization">Authorization</h4>
    <div class="indent">
      <p>Do you grant authorization to the application?</p>

      <form id="authorization-form" action="/api/authorization/decision" method="POST">
        
        <div id="login-fields" class="indent">
          <div id="login-prompt">Input Login ID and password.</div>
          <input type="text" id="loginId" name="loginId" placeholder="Login ID"
                 autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
                 class="font-default" required value="" >
          <input type="password" id="password" name="password" placeholder="Password"
                 class="font-default" required>
        </div>
        
        
        <div id="authorization-form-buttons">
          <input type="submit" name="authorized" id="authorize-button" value="Authorize" class="font-default"/>
          <input type="submit" name="denied"     id="deny-button"      value="Deny"      class="font-default"/>
        </div>
      </form>
    </div>
  </div>

</body>
</html>
response_content_type
*/*
response_status_text
200-OK
response_status_code
200
2020-07-31 12:46:35 INFO
WebRunner
Entering text
task
Initial Login
browser
text
element_type
id
value
john
url
https://fapidev-www.authlete.net/api/authorization?client_id=470519824180317&redirect_uri=https://www.certification.openid.net/test/a/oidf-authlete-core/callback&scope=openid%20offline_access&state=z3d0rSoodb&nonce=pwIETJOi0Z&response_type=code&response_mode=form_post&prompt=consent
target
loginId
2020-07-31 12:46:35 INFO
WebRunner
Entering text
task
Initial Login
browser
text
element_type
id
value
john
url
https://fapidev-www.authlete.net/api/authorization?client_id=470519824180317&redirect_uri=https://www.certification.openid.net/test/a/oidf-authlete-core/callback&scope=openid%20offline_access&state=z3d0rSoodb&nonce=pwIETJOi0Z&response_type=code&response_mode=form_post&prompt=consent
target
password
2020-07-31 12:46:35 INFO
WebRunner
Clicking an element
task
Initial Login
browser
click
element_type
name
url
https://fapidev-www.authlete.net/api/authorization?client_id=470519824180317&redirect_uri=https://www.certification.openid.net/test/a/oidf-authlete-core/callback&scope=openid%20offline_access&state=z3d0rSoodb&nonce=pwIETJOi0Z&response_type=code&response_mode=form_post&prompt=consent
target
authorized
2020-07-31 12:46:35 INCOMING
oidcc-refresh-token
Incoming HTTP request to test instance dseJHERTbxK9Qkw
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://fapidev-www.authlete.net/api/authorization/decision",
  "accept-encoding": "gzip, deflate",
  "accept-language": "en-US",
  "origin": "https://fapidev-www.authlete.net/api/authorization/decision",
  "cache-control": "max-age\u003d0",
  "content-type": "application/x-www-form-urlencoded",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "content-length": "65",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net",
  "connection": "close"
}
incoming_path
callback
incoming_body_form_params
{
  "state": "z3d0rSoodb",
  "code": "T1f_RoZVybPJG9lR8HhSEW--3F8MSYSThEXHRXyx4qI"
}
incoming_method
POST
incoming_body_json
incoming_query_string_params
{}
incoming_body
state=z3d0rSoodb&code=T1f_RoZVybPJG9lR8HhSEW--3F8MSYSThEXHRXyx4qI
2020-07-31 12:46:35 SUCCESS
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
implicit_submit
{
  "path": "implicit/UqD5UMEknMSoj26FtHNE",
  "fullUrl": "https://www.certification.openid.net/test/a/oidf-authlete-core/implicit/UqD5UMEknMSoj26FtHNE"
}
2020-07-31 12:46:35 OUTGOING
oidcc-refresh-token
Response to HTTP request to test instance dseJHERTbxK9Qkw
outgoing
ModelAndView [view="implicitCallback"; model={implicitSubmitUrl=https://www.certification.openid.net/test/a/oidf-authlete-core/implicit/UqD5UMEknMSoj26FtHNE, returnUrl=/log-detail.html?log=dseJHERTbxK9Qkw}]
outgoing_path
callback
2020-07-31 12:46:36 INFO
WebRunner
Completed processing of webpage
task
Initial Login
browser
complete
response_status_text
200-
match
https://fapidev-www.authlete.net/api/authorization*
url
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
response_status_code
200
2020-07-31 12:46:36 INFO
WebRunner
Waiting
regexp
seconds
10
task
Verify Complete
browser
wait
action
element_type
id
url
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
target
submission_complete
2020-07-31 12:46:36 INCOMING
oidcc-refresh-token
Incoming HTTP request to test instance dseJHERTbxK9Qkw
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/a/oidf-authlete-core/callback",
  "accept-encoding": "gzip, deflate",
  "accept-language": "en-US",
  "cookie": "JSESSIONID\u003d2EC10B595D95FDC4D9FF649FE373C309",
  "x-requested-with": "XMLHttpRequest",
  "content-type": "text/plain",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "content-length": "0",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net",
  "connection": "close"
}
incoming_path
implicit/UqD5UMEknMSoj26FtHNE
incoming_body_form_params
incoming_method
POST
incoming_body_json
incoming_query_string_params
{}
incoming_body
2020-07-31 12:46:36 OUTGOING
oidcc-refresh-token
Response to HTTP request to test instance dseJHERTbxK9Qkw
outgoing
org.springframework.web.servlet.view.RedirectView: [RedirectView]; URL [/log-detail.html?log=dseJHERTbxK9Qkw]
outgoing_path
implicit/UqD5UMEknMSoj26FtHNE
2020-07-31 12:46:36 SUCCESS
ExtractImplicitHashToCallbackResponse
implicit_hash is empty
2020-07-31 12:46:36 REDIRECT-IN
oidcc-refresh-token
Authorization endpoint response captured
url_query
{}
headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 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://fapidev-www.authlete.net/api/authorization/decision",
  "accept-encoding": "gzip, deflate",
  "accept-language": "en-US",
  "origin": "https://fapidev-www.authlete.net/api/authorization/decision",
  "cache-control": "max-age\u003d0",
  "content-type": "application/x-www-form-urlencoded",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "content-length": "65",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net",
  "connection": "close"
}
http_method
POST
url_fragment
{}
post_body
{
  "state": "z3d0rSoodb",
  "code": "T1f_RoZVybPJG9lR8HhSEW--3F8MSYSThEXHRXyx4qI"
}
Verify authorization endpoint response
2020-07-31 12:46:36 SUCCESS
CheckCallbackHttpMethodIsPost
HTTP method used at redirect_uri is 'POST'
2020-07-31 12:46:36 SUCCESS
CheckCallbackContentTypeIsFormUrlEncoded
content-type header to redirect_uri has the expected value
content_type
application/x-www-form-urlencoded
expected
application/x-www-form-urlencoded
2020-07-31 12:46:36 SUCCESS
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
2020-07-31 12:46:36 SUCCESS
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
2020-07-31 12:46:36 SUCCESS
CheckMatchingCallbackParameters
Callback parameters successfully verified
2020-07-31 12:46:36 SUCCESS
CheckIfAuthorizationEndpointError
No error from authorization endpoint
2020-07-31 12:46:36 SUCCESS
CheckMatchingStateParameter
State parameter correctly returned
state
z3d0rSoodb
2020-07-31 12:46:36 SUCCESS
ExtractAuthorizationCodeFromAuthorizationResponse
Found authorization code
code
T1f_RoZVybPJG9lR8HhSEW--3F8MSYSThEXHRXyx4qI
2020-07-31 12:46:36 SUCCESS
CreateTokenEndpointRequestForAuthorizationCodeGrant
grant_type
authorization_code
code
T1f_RoZVybPJG9lR8HhSEW--3F8MSYSThEXHRXyx4qI
redirect_uri
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
2020-07-31 12:46:36 SUCCESS
AddBasicAuthClientSecretAuthenticationParameters
Added basic authorization header
Authorization
Basic NDcwNTE5ODI0MTgwMzE3OkVrMkNpdU9ybWZkaHZzakdsMDM3X3BzY0NtWXNla3M0YnpTU3hjM1VaVWNyLTlLaTJybENSZGdfTXQtVWtjOWItTHBham5NVWN3bXpxZ1hzLWVES3p3
2020-07-31 12:46:36
CallTokenEndpoint
HTTP request
request_uri
https://fapidev-as.authlete.net/api/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Basic NDcwNTE5ODI0MTgwMzE3OkVrMkNpdU9ybWZkaHZzakdsMDM3X3BzY0NtWXNla3M0YnpTU3hjM1VaVWNyLTlLaTJybENSZGdfTXQtVWtjOWItTHBham5NVWN3bXpxZ1hzLWVES3p3",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "177"
}
request_body
grant_type=authorization_code&code=T1f_RoZVybPJG9lR8HhSEW--3F8MSYSThEXHRXyx4qI&redirect_uri=https%3A%2F%2Fwww.certification.openid.net%2Ftest%2Fa%2Foidf-authlete-core%2Fcallback
2020-07-31 12:46:36 INFO
WebRunner
Completed processing of webpage
task
Verify Complete
browser
complete
response_status_text
200-
match
https://*/test/a/oidf-authlete-core/callback*
url
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
response_status_code
200
2020-07-31 12:46:36 RESPONSE
CallTokenEndpoint
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "date": "Fri, 31 Jul 2020 12:46:36 GMT",
  "server": "Jetty(9.4.21-SNAPSHOT)",
  "cache-control": "no-store, no-transform",
  "pragma": "no-cache",
  "content-type": "application/json;charset\u003dutf-8",
  "content-length": "1547",
  "keep-alive": "timeout\u003d5, max\u003d100",
  "connection": "Keep-Alive"
}
response_body
{"access_token":"eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvZmZsaW5lX2FjY2VzcyBvcGVuaWQiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NTk5NiwiaWF0IjoxNTk2MTk5NTk2LCJjbGllbnRfaWQiOiI0NzA1MTk4MjQxODAzMTciLCJqdGkiOiJDZzVlSzZGNnEzNkJLYldkTlp3VjVTVnJ4OVVSNzJHZjl2UGtUd2puOFdVIn0.hOVS7n6vAwDA1BK91Qg3iIia2M2ERew7QFrrWlIZLkbpVxRNfJ2lErMKfZaipD5W-vL2-VuAgIJhH_gc5_NyZsmRr0l9HUTTqTePgmvvSmfJ5OR2l3SGilt7AXhu_LpvHytoFAdzXENSs2_0JIa2eeAZWDnUXYxEGx9b9WapqIjHni7FnAAjv9P-Zh_VAv3q6EoVJp-B4uaYG9Ijaf3aaHXomIhDoFLQCcjkbYYzqsLMYDLcLCmCT2rNGP72osA6XpkOj9a0IisaD6JRswbLPBl3v_j7hUxBUutjgv9tLvvBB8J0bW1zpgDJwavmKPMNwHfE0tXirjTCJ9phnHIWaA","refresh_token":"fbnnva1W8R-FMKeNtIhqNQdDJG_AnLKHie35qYurJ1U","scope":"offline_access openid","id_token":"eyJraWQiOiJhdXRobGV0ZS1mYXBpZGV2LWFwaS0yMDE4MDUyNCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxMDAxIiwiYXVkIjpbIjQ3MDUxOTgyNDE4MDMxNyJdLCJzX2hhc2giOiJ6UU9rbWlZdjJxVTdheWdXSTctaUJRIiwiYXV0aF90aW1lIjoxNTk2MTk5NTk1LCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjE5OTg5NiwiaWF0IjoxNTk2MTk5NTk2LCJub25jZSI6InB3SUVUSk9pMFoifQ.Afzr8-W6k96eYRiVlxqpzCPeDL6TYwKbCydmbO_QgVNQVkyzM2hk51FHKGaHRjnU5Kpu4ar6bXnQl9mVxjyyZlPB5F1MEMcc67cV2KtXvF3JAbADhSHMjDJ3F93LLdcFMnxJim-TLfdVzr9QTeL-DpxL5YYeTk75rU4TNhVuREuLTBiAhEJQ4nJjtbaIwT3UN1y_-OCFFzFfS-lVP9286vdYSJ0_Rvh4jbp2biuPtCaa9OA3qet1bSZcFTruvwruTpclwV0KSqpO50sqJPPv-mcggcV-bAJ-chi7lYrghxo8y3ft2zQsbW08Q7kZKduXrRlIBH4UZcOzN4scAc59rw","token_type":"Bearer","expires_in":86400}
2020-07-31 12:46:36
CallTokenEndpoint
Token endpoint response
token_endpoint_response
{"access_token":"eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvZmZsaW5lX2FjY2VzcyBvcGVuaWQiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NTk5NiwiaWF0IjoxNTk2MTk5NTk2LCJjbGllbnRfaWQiOiI0NzA1MTk4MjQxODAzMTciLCJqdGkiOiJDZzVlSzZGNnEzNkJLYldkTlp3VjVTVnJ4OVVSNzJHZjl2UGtUd2puOFdVIn0.hOVS7n6vAwDA1BK91Qg3iIia2M2ERew7QFrrWlIZLkbpVxRNfJ2lErMKfZaipD5W-vL2-VuAgIJhH_gc5_NyZsmRr0l9HUTTqTePgmvvSmfJ5OR2l3SGilt7AXhu_LpvHytoFAdzXENSs2_0JIa2eeAZWDnUXYxEGx9b9WapqIjHni7FnAAjv9P-Zh_VAv3q6EoVJp-B4uaYG9Ijaf3aaHXomIhDoFLQCcjkbYYzqsLMYDLcLCmCT2rNGP72osA6XpkOj9a0IisaD6JRswbLPBl3v_j7hUxBUutjgv9tLvvBB8J0bW1zpgDJwavmKPMNwHfE0tXirjTCJ9phnHIWaA","refresh_token":"fbnnva1W8R-FMKeNtIhqNQdDJG_AnLKHie35qYurJ1U","scope":"offline_access openid","id_token":"eyJraWQiOiJhdXRobGV0ZS1mYXBpZGV2LWFwaS0yMDE4MDUyNCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxMDAxIiwiYXVkIjpbIjQ3MDUxOTgyNDE4MDMxNyJdLCJzX2hhc2giOiJ6UU9rbWlZdjJxVTdheWdXSTctaUJRIiwiYXV0aF90aW1lIjoxNTk2MTk5NTk1LCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjE5OTg5NiwiaWF0IjoxNTk2MTk5NTk2LCJub25jZSI6InB3SUVUSk9pMFoifQ.Afzr8-W6k96eYRiVlxqpzCPeDL6TYwKbCydmbO_QgVNQVkyzM2hk51FHKGaHRjnU5Kpu4ar6bXnQl9mVxjyyZlPB5F1MEMcc67cV2KtXvF3JAbADhSHMjDJ3F93LLdcFMnxJim-TLfdVzr9QTeL-DpxL5YYeTk75rU4TNhVuREuLTBiAhEJQ4nJjtbaIwT3UN1y_-OCFFzFfS-lVP9286vdYSJ0_Rvh4jbp2biuPtCaa9OA3qet1bSZcFTruvwruTpclwV0KSqpO50sqJPPv-mcggcV-bAJ-chi7lYrghxo8y3ft2zQsbW08Q7kZKduXrRlIBH4UZcOzN4scAc59rw","token_type":"Bearer","expires_in":86400}
2020-07-31 12:46:36 SUCCESS
CallTokenEndpoint
Parsed token endpoint response
access_token
eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvZmZsaW5lX2FjY2VzcyBvcGVuaWQiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NTk5NiwiaWF0IjoxNTk2MTk5NTk2LCJjbGllbnRfaWQiOiI0NzA1MTk4MjQxODAzMTciLCJqdGkiOiJDZzVlSzZGNnEzNkJLYldkTlp3VjVTVnJ4OVVSNzJHZjl2UGtUd2puOFdVIn0.hOVS7n6vAwDA1BK91Qg3iIia2M2ERew7QFrrWlIZLkbpVxRNfJ2lErMKfZaipD5W-vL2-VuAgIJhH_gc5_NyZsmRr0l9HUTTqTePgmvvSmfJ5OR2l3SGilt7AXhu_LpvHytoFAdzXENSs2_0JIa2eeAZWDnUXYxEGx9b9WapqIjHni7FnAAjv9P-Zh_VAv3q6EoVJp-B4uaYG9Ijaf3aaHXomIhDoFLQCcjkbYYzqsLMYDLcLCmCT2rNGP72osA6XpkOj9a0IisaD6JRswbLPBl3v_j7hUxBUutjgv9tLvvBB8J0bW1zpgDJwavmKPMNwHfE0tXirjTCJ9phnHIWaA
refresh_token
fbnnva1W8R-FMKeNtIhqNQdDJG_AnLKHie35qYurJ1U
scope
offline_access openid
id_token
eyJraWQiOiJhdXRobGV0ZS1mYXBpZGV2LWFwaS0yMDE4MDUyNCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxMDAxIiwiYXVkIjpbIjQ3MDUxOTgyNDE4MDMxNyJdLCJzX2hhc2giOiJ6UU9rbWlZdjJxVTdheWdXSTctaUJRIiwiYXV0aF90aW1lIjoxNTk2MTk5NTk1LCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjE5OTg5NiwiaWF0IjoxNTk2MTk5NTk2LCJub25jZSI6InB3SUVUSk9pMFoifQ.Afzr8-W6k96eYRiVlxqpzCPeDL6TYwKbCydmbO_QgVNQVkyzM2hk51FHKGaHRjnU5Kpu4ar6bXnQl9mVxjyyZlPB5F1MEMcc67cV2KtXvF3JAbADhSHMjDJ3F93LLdcFMnxJim-TLfdVzr9QTeL-DpxL5YYeTk75rU4TNhVuREuLTBiAhEJQ4nJjtbaIwT3UN1y_-OCFFzFfS-lVP9286vdYSJ0_Rvh4jbp2biuPtCaa9OA3qet1bSZcFTruvwruTpclwV0KSqpO50sqJPPv-mcggcV-bAJ-chi7lYrghxo8y3ft2zQsbW08Q7kZKduXrRlIBH4UZcOzN4scAc59rw
token_type
Bearer
expires_in
86400
2020-07-31 12:46:36 SUCCESS
CheckIfTokenEndpointResponseError
No error from token endpoint
2020-07-31 12:46:36 SUCCESS
CheckForAccessTokenValue
Found an access token
access_token
eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvZmZsaW5lX2FjY2VzcyBvcGVuaWQiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NTk5NiwiaWF0IjoxNTk2MTk5NTk2LCJjbGllbnRfaWQiOiI0NzA1MTk4MjQxODAzMTciLCJqdGkiOiJDZzVlSzZGNnEzNkJLYldkTlp3VjVTVnJ4OVVSNzJHZjl2UGtUd2puOFdVIn0.hOVS7n6vAwDA1BK91Qg3iIia2M2ERew7QFrrWlIZLkbpVxRNfJ2lErMKfZaipD5W-vL2-VuAgIJhH_gc5_NyZsmRr0l9HUTTqTePgmvvSmfJ5OR2l3SGilt7AXhu_LpvHytoFAdzXENSs2_0JIa2eeAZWDnUXYxEGx9b9WapqIjHni7FnAAjv9P-Zh_VAv3q6EoVJp-B4uaYG9Ijaf3aaHXomIhDoFLQCcjkbYYzqsLMYDLcLCmCT2rNGP72osA6XpkOj9a0IisaD6JRswbLPBl3v_j7hUxBUutjgv9tLvvBB8J0bW1zpgDJwavmKPMNwHfE0tXirjTCJ9phnHIWaA
2020-07-31 12:46:36 SUCCESS
ExtractAccessTokenFromTokenResponse
Extracted the access token
value
eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvZmZsaW5lX2FjY2VzcyBvcGVuaWQiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NTk5NiwiaWF0IjoxNTk2MTk5NTk2LCJjbGllbnRfaWQiOiI0NzA1MTk4MjQxODAzMTciLCJqdGkiOiJDZzVlSzZGNnEzNkJLYldkTlp3VjVTVnJ4OVVSNzJHZjl2UGtUd2puOFdVIn0.hOVS7n6vAwDA1BK91Qg3iIia2M2ERew7QFrrWlIZLkbpVxRNfJ2lErMKfZaipD5W-vL2-VuAgIJhH_gc5_NyZsmRr0l9HUTTqTePgmvvSmfJ5OR2l3SGilt7AXhu_LpvHytoFAdzXENSs2_0JIa2eeAZWDnUXYxEGx9b9WapqIjHni7FnAAjv9P-Zh_VAv3q6EoVJp-B4uaYG9Ijaf3aaHXomIhDoFLQCcjkbYYzqsLMYDLcLCmCT2rNGP72osA6XpkOj9a0IisaD6JRswbLPBl3v_j7hUxBUutjgv9tLvvBB8J0bW1zpgDJwavmKPMNwHfE0tXirjTCJ9phnHIWaA
type
Bearer
2020-07-31 12:46:36 SUCCESS
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
expires_in
86400
2020-07-31 12:46:36 SUCCESS
ValidateExpiresIn
expires_in passed all validation checks
expires_in
86400
2020-07-31 12:46:36 SUCCESS
CheckForRefreshTokenValue
Found a refresh token
refresh_token
fbnnva1W8R-FMKeNtIhqNQdDJG_AnLKHie35qYurJ1U
2020-07-31 12:46:36 SUCCESS
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
value
eyJraWQiOiJhdXRobGV0ZS1mYXBpZGV2LWFwaS0yMDE4MDUyNCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxMDAxIiwiYXVkIjpbIjQ3MDUxOTgyNDE4MDMxNyJdLCJzX2hhc2giOiJ6UU9rbWlZdjJxVTdheWdXSTctaUJRIiwiYXV0aF90aW1lIjoxNTk2MTk5NTk1LCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjE5OTg5NiwiaWF0IjoxNTk2MTk5NTk2LCJub25jZSI6InB3SUVUSk9pMFoifQ.Afzr8-W6k96eYRiVlxqpzCPeDL6TYwKbCydmbO_QgVNQVkyzM2hk51FHKGaHRjnU5Kpu4ar6bXnQl9mVxjyyZlPB5F1MEMcc67cV2KtXvF3JAbADhSHMjDJ3F93LLdcFMnxJim-TLfdVzr9QTeL-DpxL5YYeTk75rU4TNhVuREuLTBiAhEJQ4nJjtbaIwT3UN1y_-OCFFzFfS-lVP9286vdYSJ0_Rvh4jbp2biuPtCaa9OA3qet1bSZcFTruvwruTpclwV0KSqpO50sqJPPv-mcggcV-bAJ-chi7lYrghxo8y3ft2zQsbW08Q7kZKduXrRlIBH4UZcOzN4scAc59rw
header
{
  "kid": "authlete-fapidev-api-20180524",
  "alg": "RS256"
}
claims
{
  "sub": "1001",
  "aud": "470519824180317",
  "s_hash": "zQOkmiYv2qU7aygWI7-iBQ",
  "auth_time": 1596199595,
  "iss": "https://fapidev-as.authlete.net/",
  "exp": 1596199896,
  "iat": 1596199596,
  "nonce": "pwIETJOi0Z"
}
2020-07-31 12:46:36 SUCCESS
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
2020-07-31 12:46:36 SUCCESS
ValidateIdTokenNonce
Nonce values match
nonce
pwIETJOi0Z
2020-07-31 12:46:36 SUCCESS
ValidateIdTokenACRClaimAgainstRequest
Nothing to check; the conformance suite did not request an acr claim in request object
2020-07-31 12:46:36 SUCCESS
ValidateIdTokenSignature
id_token signature validated
id_token
eyJraWQiOiJhdXRobGV0ZS1mYXBpZGV2LWFwaS0yMDE4MDUyNCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxMDAxIiwiYXVkIjpbIjQ3MDUxOTgyNDE4MDMxNyJdLCJzX2hhc2giOiJ6UU9rbWlZdjJxVTdheWdXSTctaUJRIiwiYXV0aF90aW1lIjoxNTk2MTk5NTk1LCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjE5OTg5NiwiaWF0IjoxNTk2MTk5NTk2LCJub25jZSI6InB3SUVUSk9pMFoifQ.Afzr8-W6k96eYRiVlxqpzCPeDL6TYwKbCydmbO_QgVNQVkyzM2hk51FHKGaHRjnU5Kpu4ar6bXnQl9mVxjyyZlPB5F1MEMcc67cV2KtXvF3JAbADhSHMjDJ3F93LLdcFMnxJim-TLfdVzr9QTeL-DpxL5YYeTk75rU4TNhVuREuLTBiAhEJQ4nJjtbaIwT3UN1y_-OCFFzFfS-lVP9286vdYSJ0_Rvh4jbp2biuPtCaa9OA3qet1bSZcFTruvwruTpclwV0KSqpO50sqJPPv-mcggcV-bAJ-chi7lYrghxo8y3ft2zQsbW08Q7kZKduXrRlIBH4UZcOzN4scAc59rw
2020-07-31 12:46:36 SUCCESS
ValidateIdTokenSignatureUsingKid
id_token signature validated
id_token
eyJraWQiOiJhdXRobGV0ZS1mYXBpZGV2LWFwaS0yMDE4MDUyNCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxMDAxIiwiYXVkIjpbIjQ3MDUxOTgyNDE4MDMxNyJdLCJzX2hhc2giOiJ6UU9rbWlZdjJxVTdheWdXSTctaUJRIiwiYXV0aF90aW1lIjoxNTk2MTk5NTk1LCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjE5OTg5NiwiaWF0IjoxNTk2MTk5NTk2LCJub25jZSI6InB3SUVUSk9pMFoifQ.Afzr8-W6k96eYRiVlxqpzCPeDL6TYwKbCydmbO_QgVNQVkyzM2hk51FHKGaHRjnU5Kpu4ar6bXnQl9mVxjyyZlPB5F1MEMcc67cV2KtXvF3JAbADhSHMjDJ3F93LLdcFMnxJim-TLfdVzr9QTeL-DpxL5YYeTk75rU4TNhVuREuLTBiAhEJQ4nJjtbaIwT3UN1y_-OCFFzFfS-lVP9286vdYSJ0_Rvh4jbp2biuPtCaa9OA3qet1bSZcFTruvwruTpclwV0KSqpO50sqJPPv-mcggcV-bAJ-chi7lYrghxo8y3ft2zQsbW08Q7kZKduXrRlIBH4UZcOzN4scAc59rw
2020-07-31 12:46:36 SUCCESS
CheckForSubjectInIdToken
Found 'sub' in id_token
sub
1001
2020-07-31 12:46:36 SUCCESS
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
refresh_token
fbnnva1W8R-FMKeNtIhqNQdDJG_AnLKHie35qYurJ1U
2020-07-31 12:46:36 SUCCESS
EnsureServerConfigurationSupportsRefreshToken
The server configuration indicates support for refresh tokens
supported_grant_types
[
  "authorization_code",
  "implicit",
  "password",
  "client_credentials",
  "refresh_token",
  "urn:openid:params:grant-type:ciba",
  "urn:ietf:params:oauth:grant-type:device_code"
]
2020-07-31 12:46:36 SUCCESS
EnsureRefreshTokenContainsAllowedCharactersOnly
Refresh token does not contain any illegal characters
Refresh Token Request
2020-07-31 12:46:36 SUCCESS
CreateRefreshTokenRequest
Created token endpoint request parameters
grant_type
refresh_token
refresh_token
fbnnva1W8R-FMKeNtIhqNQdDJG_AnLKHie35qYurJ1U
2020-07-31 12:46:36 SUCCESS
AddScopeToTokenEndpointRequest
Added scope of 'openid offline_access' to token endpoint request
grant_type
refresh_token
refresh_token
fbnnva1W8R-FMKeNtIhqNQdDJG_AnLKHie35qYurJ1U
scope
openid offline_access
2020-07-31 12:46:36 SUCCESS
AddBasicAuthClientSecretAuthenticationParameters
Added basic authorization header
Authorization
Basic NDcwNTE5ODI0MTgwMzE3OkVrMkNpdU9ybWZkaHZzakdsMDM3X3BzY0NtWXNla3M0YnpTU3hjM1VaVWNyLTlLaTJybENSZGdfTXQtVWtjOWItTHBham5NVWN3bXpxZ1hzLWVES3p3
2020-07-31 12:46:36 SUCCESS
WaitForOneSecond
Pausing for 1 seconds
2020-07-31 12:46:37 SUCCESS
WaitForOneSecond
Woke up after 1 seconds sleep
2020-07-31 12:46:37
CallTokenEndpointAndReturnFullResponse
HTTP request
request_uri
https://fapidev-as.authlete.net/api/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Basic NDcwNTE5ODI0MTgwMzE3OkVrMkNpdU9ybWZkaHZzakdsMDM3X3BzY0NtWXNla3M0YnpTU3hjM1VaVWNyLTlLaTJybENSZGdfTXQtVWtjOWItTHBham5NVWN3bXpxZ1hzLWVES3p3",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "110"
}
request_body
grant_type=refresh_token&refresh_token=fbnnva1W8R-FMKeNtIhqNQdDJG_AnLKHie35qYurJ1U&scope=openid+offline_access
2020-07-31 12:46:38 RESPONSE
CallTokenEndpointAndReturnFullResponse
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "date": "Fri, 31 Jul 2020 12:46:37 GMT",
  "server": "Jetty(9.4.21-SNAPSHOT)",
  "cache-control": "no-store, no-transform",
  "pragma": "no-cache",
  "content-type": "application/json;charset\u003dutf-8",
  "content-length": "860",
  "keep-alive": "timeout\u003d5, max\u003d100",
  "connection": "Keep-Alive"
}
response_body
{"access_token":"eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NTk5OCwiaWF0IjoxNTk2MTk5NTk4LCJjbGllbnRfaWQiOiI0NzA1MTk4MjQxODAzMTciLCJqdGkiOiIyVUY4MF96R2doa0NpdWZKT3B2Rk9sM1R1SkN5b3FYMG1jQWZKZDdxRmdjIn0.DI5-i4oh2bwIKbwc1JX7CbQmHEUs465YJhcabF9db0hZ8e3lQZIT20uwQWpneiwCepO54k2gpUJKm6pdaizJqn3xIln2wVBjWbIIUxvbD7_i5oBtnqd-OQt1Kxrr8mmhNzlYnVXG7RegnyYAdqlzF2NG2i33-sgdmEKD8ug6TBdSrYHwlsW2VVXEY6AwOe_V2bVWcNgGGEt6ip9QHDsceS62zEZP5dJ_CRiKjsmoXC4euQea-Yukv18n7VyJZMaiTTfmGyOCJOgme2KbwPqQ8RqOoZUaqz-PjDEI7HLycJwVL-hZuny5YuU8baiWIx6v412V4a6mnlPOrqQ5pzgewQ","refresh_token":"i_riTS0oOIk14ND1wQWbY3eGXYcXVP7YOEB6Rxb6h3o","scope":"openid offline_access","token_type":"Bearer","expires_in":86400}
2020-07-31 12:46:38 SUCCESS
CallTokenEndpointAndReturnFullResponse
Parsed token endpoint response
access_token
eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NTk5OCwiaWF0IjoxNTk2MTk5NTk4LCJjbGllbnRfaWQiOiI0NzA1MTk4MjQxODAzMTciLCJqdGkiOiIyVUY4MF96R2doa0NpdWZKT3B2Rk9sM1R1SkN5b3FYMG1jQWZKZDdxRmdjIn0.DI5-i4oh2bwIKbwc1JX7CbQmHEUs465YJhcabF9db0hZ8e3lQZIT20uwQWpneiwCepO54k2gpUJKm6pdaizJqn3xIln2wVBjWbIIUxvbD7_i5oBtnqd-OQt1Kxrr8mmhNzlYnVXG7RegnyYAdqlzF2NG2i33-sgdmEKD8ug6TBdSrYHwlsW2VVXEY6AwOe_V2bVWcNgGGEt6ip9QHDsceS62zEZP5dJ_CRiKjsmoXC4euQea-Yukv18n7VyJZMaiTTfmGyOCJOgme2KbwPqQ8RqOoZUaqz-PjDEI7HLycJwVL-hZuny5YuU8baiWIx6v412V4a6mnlPOrqQ5pzgewQ
refresh_token
i_riTS0oOIk14ND1wQWbY3eGXYcXVP7YOEB6Rxb6h3o
scope
openid offline_access
token_type
Bearer
expires_in
86400
2020-07-31 12:46:38 SUCCESS
CheckTokenEndpointHttpStatus200
Token endpoint http status code was 200
2020-07-31 12:46:38 SUCCESS
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
2020-07-31 12:46:38 SUCCESS
CheckTokenEndpointCacheHeaders
Checked 'pragma' and 'cache-control' in the headers of token_endpoint_response.
2020-07-31 12:46:38 SUCCESS
CheckIfTokenEndpointResponseError
No error from token endpoint
2020-07-31 12:46:38 SUCCESS
ExtractAccessTokenFromTokenResponse
Extracted the access token
value
eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NTk5OCwiaWF0IjoxNTk2MTk5NTk4LCJjbGllbnRfaWQiOiI0NzA1MTk4MjQxODAzMTciLCJqdGkiOiIyVUY4MF96R2doa0NpdWZKT3B2Rk9sM1R1SkN5b3FYMG1jQWZKZDdxRmdjIn0.DI5-i4oh2bwIKbwc1JX7CbQmHEUs465YJhcabF9db0hZ8e3lQZIT20uwQWpneiwCepO54k2gpUJKm6pdaizJqn3xIln2wVBjWbIIUxvbD7_i5oBtnqd-OQt1Kxrr8mmhNzlYnVXG7RegnyYAdqlzF2NG2i33-sgdmEKD8ug6TBdSrYHwlsW2VVXEY6AwOe_V2bVWcNgGGEt6ip9QHDsceS62zEZP5dJ_CRiKjsmoXC4euQea-Yukv18n7VyJZMaiTTfmGyOCJOgme2KbwPqQ8RqOoZUaqz-PjDEI7HLycJwVL-hZuny5YuU8baiWIx6v412V4a6mnlPOrqQ5pzgewQ
type
Bearer
2020-07-31 12:46:38 SUCCESS
CheckTokenTypeIsBearer
Token type is bearer
2020-07-31 12:46:38 SUCCESS
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
actual
4131.845799460283
expected
96.0
2020-07-31 12:46:38 SUCCESS
EnsureAccessTokenContainsAllowedCharactersOnly
Access token does not contain any illegal characters
2020-07-31 12:46:38 SUCCESS
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
expires_in
86400
2020-07-31 12:46:38 SUCCESS
ValidateExpiresIn
expires_in passed all validation checks
expires_in
86400
2020-07-31 12:46:38 SUCCESS
EnsureAccessTokenValuesAreDifferent
Access token values are not the same
first_access_token
eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvZmZsaW5lX2FjY2VzcyBvcGVuaWQiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NTk5NiwiaWF0IjoxNTk2MTk5NTk2LCJjbGllbnRfaWQiOiI0NzA1MTk4MjQxODAzMTciLCJqdGkiOiJDZzVlSzZGNnEzNkJLYldkTlp3VjVTVnJ4OVVSNzJHZjl2UGtUd2puOFdVIn0.hOVS7n6vAwDA1BK91Qg3iIia2M2ERew7QFrrWlIZLkbpVxRNfJ2lErMKfZaipD5W-vL2-VuAgIJhH_gc5_NyZsmRr0l9HUTTqTePgmvvSmfJ5OR2l3SGilt7AXhu_LpvHytoFAdzXENSs2_0JIa2eeAZWDnUXYxEGx9b9WapqIjHni7FnAAjv9P-Zh_VAv3q6EoVJp-B4uaYG9Ijaf3aaHXomIhDoFLQCcjkbYYzqsLMYDLcLCmCT2rNGP72osA6XpkOj9a0IisaD6JRswbLPBl3v_j7hUxBUutjgv9tLvvBB8J0bW1zpgDJwavmKPMNwHfE0tXirjTCJ9phnHIWaA
second_access_token
eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NTk5OCwiaWF0IjoxNTk2MTk5NTk4LCJjbGllbnRfaWQiOiI0NzA1MTk4MjQxODAzMTciLCJqdGkiOiIyVUY4MF96R2doa0NpdWZKT3B2Rk9sM1R1SkN5b3FYMG1jQWZKZDdxRmdjIn0.DI5-i4oh2bwIKbwc1JX7CbQmHEUs465YJhcabF9db0hZ8e3lQZIT20uwQWpneiwCepO54k2gpUJKm6pdaizJqn3xIln2wVBjWbIIUxvbD7_i5oBtnqd-OQt1Kxrr8mmhNzlYnVXG7RegnyYAdqlzF2NG2i33-sgdmEKD8ug6TBdSrYHwlsW2VVXEY6AwOe_V2bVWcNgGGEt6ip9QHDsceS62zEZP5dJ_CRiKjsmoXC4euQea-Yukv18n7VyJZMaiTTfmGyOCJOgme2KbwPqQ8RqOoZUaqz-PjDEI7HLycJwVL-hZuny5YuU8baiWIx6v412V4a6mnlPOrqQ5pzgewQ
2020-07-31 12:46:38 INFO
ExtractIdTokenFromTokenResponse
Couldn't find id_token in token_endpoint_response
2020-07-31 12:46:38 SUCCESS
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
refresh_token
i_riTS0oOIk14ND1wQWbY3eGXYcXVP7YOEB6Rxb6h3o
2020-07-31 12:46:38 SUCCESS
EnsureMinimumRefreshTokenLength
Refresh token is of sufficient length
actual
344
required
128
2020-07-31 12:46:38 SUCCESS
EnsureMinimumRefreshTokenEntropy
Calculated shannon entropy seems sufficient
actual
212.5744969500267
expected
96.0
2020-07-31 12:46:38 INFO
CompareIdTokenClaims
Skipped evaluation due to missing required object: second_id_token
expected
second_id_token
mapped
second_id_token
Userinfo endpoint tests
2020-07-31 12:46:38
CallProtectedResourceWithBearerToken
HTTP request
request_uri
https://fapidev-rs.authlete.net/api/userinfo
request_method
GET
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Bearer eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NTk5OCwiaWF0IjoxNTk2MTk5NTk4LCJjbGllbnRfaWQiOiI0NzA1MTk4MjQxODAzMTciLCJqdGkiOiIyVUY4MF96R2doa0NpdWZKT3B2Rk9sM1R1SkN5b3FYMG1jQWZKZDdxRmdjIn0.DI5-i4oh2bwIKbwc1JX7CbQmHEUs465YJhcabF9db0hZ8e3lQZIT20uwQWpneiwCepO54k2gpUJKm6pdaizJqn3xIln2wVBjWbIIUxvbD7_i5oBtnqd-OQt1Kxrr8mmhNzlYnVXG7RegnyYAdqlzF2NG2i33-sgdmEKD8ug6TBdSrYHwlsW2VVXEY6AwOe_V2bVWcNgGGEt6ip9QHDsceS62zEZP5dJ_CRiKjsmoXC4euQea-Yukv18n7VyJZMaiTTfmGyOCJOgme2KbwPqQ8RqOoZUaqz-PjDEI7HLycJwVL-hZuny5YuU8baiWIx6v412V4a6mnlPOrqQ5pzgewQ",
  "accept-charset": "utf-8",
  "content-length": "0"
}
request_body

                                
2020-07-31 12:46:38 RESPONSE
CallProtectedResourceWithBearerToken
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "date": "Fri, 31 Jul 2020 12:46:38 GMT",
  "server": "Jetty(9.4.21-SNAPSHOT)",
  "cache-control": "no-store, no-transform",
  "pragma": "no-cache",
  "content-type": "application/json;charset\u003dutf-8",
  "content-length": "14",
  "keep-alive": "timeout\u003d5, max\u003d100",
  "connection": "Keep-Alive"
}
response_body
{"sub":"1001"}
2020-07-31 12:46:38 SUCCESS
CallProtectedResourceWithBearerToken
Got a response from the resource endpoint
headers
{
  "date": "Fri, 31 Jul 2020 12:46:38 GMT",
  "server": "Jetty(9.4.21-SNAPSHOT)",
  "cache-control": "no-store, no-transform",
  "pragma": "no-cache",
  "content-type": "application/json;charset\u003dutf-8",
  "content-length": "14",
  "keep-alive": "timeout\u003d5, max\u003d100",
  "connection": "Keep-Alive"
}
status_code
{
  "code": 200
}
body
{"sub":"1001"}
Second client: Make request to authorization endpoint
2020-07-31 12:46:38 SUCCESS
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
client_id
470553331604632
redirect_uri
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
scope
openid offline_access
2020-07-31 12:46:38
CreateRandomStateValue
Created state value
requested_state_length
10
state
Qj7i73tYIS
2020-07-31 12:46:38 SUCCESS
AddStateToAuthorizationEndpointRequest
Added state parameter to request
client_id
470553331604632
redirect_uri
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
scope
openid offline_access
state
Qj7i73tYIS
2020-07-31 12:46:38
CreateRandomNonceValue
Created nonce value
requested_nonce_length
10
nonce
fm5lZFGMrt
2020-07-31 12:46:38 SUCCESS
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
client_id
470553331604632
redirect_uri
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
scope
openid offline_access
state
Qj7i73tYIS
nonce
fm5lZFGMrt
2020-07-31 12:46:38 SUCCESS
SetAuthorizationEndpointRequestResponseTypeFromEnvironment
Added response_type parameter to request
client_id
470553331604632
redirect_uri
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
scope
openid offline_access
state
Qj7i73tYIS
nonce
fm5lZFGMrt
response_type
code
2020-07-31 12:46:38
SetAuthorizationEndpointRequestResponseModeToFormPost
Added response_mode parameter to request
client_id
470553331604632
redirect_uri
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
scope
openid offline_access
state
Qj7i73tYIS
nonce
fm5lZFGMrt
response_type
code
response_mode
form_post
2020-07-31 12:46:38 SUCCESS
AddPromptConsentToAuthorizationEndpointRequestIfScopeContainsOfflineAccess
Added prompt=consent to authorization endpoint request
client_id
470553331604632
redirect_uri
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
scope
openid offline_access
state
Qj7i73tYIS
nonce
fm5lZFGMrt
response_type
code
response_mode
form_post
prompt
consent
2020-07-31 12:46:38 SUCCESS
BuildPlainRedirectToAuthorizationEndpoint
Sending to authorization endpoint
redirect_to_authorization_endpoint
https://fapidev-www.authlete.net/api/authorization?client_id=470553331604632&redirect_uri=https://www.certification.openid.net/test/a/oidf-authlete-core/callback&scope=openid%20offline_access&state=Qj7i73tYIS&nonce=fm5lZFGMrt&response_type=code&response_mode=form_post&prompt=consent
2020-07-31 12:46:38 REDIRECT
oidcc-refresh-token
Redirecting to authorization endpoint
redirect_to
https://fapidev-www.authlete.net/api/authorization?client_id=470553331604632&redirect_uri=https://www.certification.openid.net/test/a/oidf-authlete-core/callback&scope=openid%20offline_access&state=Qj7i73tYIS&nonce=fm5lZFGMrt&response_type=code&response_mode=form_post&prompt=consent
2020-07-31 12:46:38
WebRunner
Scripted browser HTTP request
browser
goToUrl
request_method
GET
request_uri
https://fapidev-www.authlete.net/api/authorization?client_id=470553331604632&redirect_uri=https://www.certification.openid.net/test/a/oidf-authlete-core/callback&scope=openid%20offline_access&state=Qj7i73tYIS&nonce=fm5lZFGMrt&response_type=code&response_mode=form_post&prompt=consent
2020-07-31 12:46:38 RESPONSE
WebRunner
Scripted browser HTTP response
response_content
<!doctype html>
<!---->
<!--




-->
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
  <title>FAPI Test Service | Authorization</title>
  <link rel="stylesheet" href="/css/authorization.css">
  <!--  //-->
</head>
<body class="font-default">
  <div id="page_title">FAPI Test Service</div>

  <div id="content">
    <h3 id="client-name">core conformance client secret basic (2nd client)</h3>
    <div class="indent">
      <img id="logo" src="https://button.heenan.me.uk/~joseph/authlete-150x150.png" alt="[Logo] (150x150)">

      <div id="client-summary">
        <p>core conformance client secret basic (2nd client)</p>
        <ul id="client-link-list">
          

          

          
        </ul>
      </div>

      <div style="clear: both;"></div>
    </div>

    
    <h4 id="permissions">Permissions</h4>
    <div class="indent">
      <p>The application is requesting the following permissions.</p>

      <dl id="scope-list">
        
        <dt>offline_access</dt>
        <dd>A permission to request a refresh token exchangeable with an access token which can access the UserInfo Endpoint even when the end-user is offline. See OpenID Connect Core 1.0, 11. for details.</dd>
        
        <dt>openid</dt>
        <dd>A permission to request an OpenID Provider to issue an ID Token. See OpenID Connect Core 1.0, 3.1.2.1. for details.</dd>
        
      </dl>
    </div>
    

    

    

    <h4 id="authorization">Authorization</h4>
    <div class="indent">
      <p>Do you grant authorization to the application?</p>

      <form id="authorization-form" action="/api/authorization/decision" method="POST">
        
        
        <div id="login-user"><i>Logged in as 1001</i></div>
        
        <div id="authorization-form-buttons">
          <input type="submit" name="authorized" id="authorize-button" value="Authorize" class="font-default"/>
          <input type="submit" name="denied"     id="deny-button"      value="Deny"      class="font-default"/>
        </div>
      </form>
    </div>
  </div>

</body>
</html>
response_content_type
*/*
response_status_text
200-OK
response_status_code
200
2020-07-31 12:46:38 INFO
WebRunner
Entering text
task
Initial Login
browser
text
element_type
id
value
john
url
https://fapidev-www.authlete.net/api/authorization?client_id=470553331604632&redirect_uri=https://www.certification.openid.net/test/a/oidf-authlete-core/callback&scope=openid%20offline_access&state=Qj7i73tYIS&nonce=fm5lZFGMrt&response_type=code&response_mode=form_post&prompt=consent
target
loginId
2020-07-31 12:46:38 INFO
WebRunner
Element not found, skipping as 'text' command is marked 'optional'
task
Initial Login
browser
text
element_type
id
value
john
url
https://fapidev-www.authlete.net/api/authorization?client_id=470553331604632&redirect_uri=https://www.certification.openid.net/test/a/oidf-authlete-core/callback&scope=openid%20offline_access&state=Qj7i73tYIS&nonce=fm5lZFGMrt&response_type=code&response_mode=form_post&prompt=consent
target
loginId
2020-07-31 12:46:38 INFO
WebRunner
Entering text
task
Initial Login
browser
text
element_type
id
value
john
url
https://fapidev-www.authlete.net/api/authorization?client_id=470553331604632&redirect_uri=https://www.certification.openid.net/test/a/oidf-authlete-core/callback&scope=openid%20offline_access&state=Qj7i73tYIS&nonce=fm5lZFGMrt&response_type=code&response_mode=form_post&prompt=consent
target
password
2020-07-31 12:46:38 INFO
WebRunner
Element not found, skipping as 'text' command is marked 'optional'
task
Initial Login
browser
text
element_type
id
value
john
url
https://fapidev-www.authlete.net/api/authorization?client_id=470553331604632&redirect_uri=https://www.certification.openid.net/test/a/oidf-authlete-core/callback&scope=openid%20offline_access&state=Qj7i73tYIS&nonce=fm5lZFGMrt&response_type=code&response_mode=form_post&prompt=consent
target
password
2020-07-31 12:46:38 INFO
WebRunner
Clicking an element
task
Initial Login
browser
click
element_type
name
url
https://fapidev-www.authlete.net/api/authorization?client_id=470553331604632&redirect_uri=https://www.certification.openid.net/test/a/oidf-authlete-core/callback&scope=openid%20offline_access&state=Qj7i73tYIS&nonce=fm5lZFGMrt&response_type=code&response_mode=form_post&prompt=consent
target
authorized
2020-07-31 12:46:39 INCOMING
oidcc-refresh-token
Incoming HTTP request to test instance dseJHERTbxK9Qkw
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://fapidev-www.authlete.net/api/authorization/decision",
  "accept-encoding": "gzip, deflate",
  "accept-language": "en-US",
  "cookie": "JSESSIONID\u003d2EC10B595D95FDC4D9FF649FE373C309",
  "origin": "https://fapidev-www.authlete.net/api/authorization/decision",
  "cache-control": "max-age\u003d0",
  "content-type": "application/x-www-form-urlencoded",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "content-length": "65",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net",
  "connection": "close"
}
incoming_path
callback
incoming_body_form_params
{
  "state": "Qj7i73tYIS",
  "code": "19apeOudZeQ-lV9UiKy--j5rUqGTDdrS3AOh3v2QhRo"
}
incoming_method
POST
incoming_body_json
incoming_query_string_params
{}
incoming_body
state=Qj7i73tYIS&code=19apeOudZeQ-lV9UiKy--j5rUqGTDdrS3AOh3v2QhRo
2020-07-31 12:46:39 SUCCESS
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
implicit_submit
{
  "path": "implicit/4gX8zZ8gLm0r7uFlruJg",
  "fullUrl": "https://www.certification.openid.net/test/a/oidf-authlete-core/implicit/4gX8zZ8gLm0r7uFlruJg"
}
2020-07-31 12:46:39 OUTGOING
oidcc-refresh-token
Response to HTTP request to test instance dseJHERTbxK9Qkw
outgoing
ModelAndView [view="implicitCallback"; model={implicitSubmitUrl=https://www.certification.openid.net/test/a/oidf-authlete-core/implicit/4gX8zZ8gLm0r7uFlruJg, returnUrl=/log-detail.html?log=dseJHERTbxK9Qkw}]
outgoing_path
callback
2020-07-31 12:46:39 INFO
WebRunner
Completed processing of webpage
task
Initial Login
browser
complete
response_status_text
200-
match
https://fapidev-www.authlete.net/api/authorization*
url
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
response_status_code
200
2020-07-31 12:46:39 INFO
WebRunner
Waiting
regexp
seconds
10
task
Verify Complete
browser
wait
action
element_type
id
url
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
target
submission_complete
2020-07-31 12:46:39 INCOMING
oidcc-refresh-token
Incoming HTTP request to test instance dseJHERTbxK9Qkw
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/a/oidf-authlete-core/callback",
  "accept-encoding": "gzip, deflate",
  "accept-language": "en-US",
  "cookie": "JSESSIONID\u003d2EC10B595D95FDC4D9FF649FE373C309",
  "x-requested-with": "XMLHttpRequest",
  "content-type": "text/plain",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "content-length": "0",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net",
  "connection": "close"
}
incoming_path
implicit/4gX8zZ8gLm0r7uFlruJg
incoming_body_form_params
incoming_method
POST
incoming_body_json
incoming_query_string_params
{}
incoming_body
2020-07-31 12:46:39 OUTGOING
oidcc-refresh-token
Response to HTTP request to test instance dseJHERTbxK9Qkw
outgoing
org.springframework.web.servlet.view.RedirectView: [RedirectView]; URL [/log-detail.html?log=dseJHERTbxK9Qkw]
outgoing_path
implicit/4gX8zZ8gLm0r7uFlruJg
2020-07-31 12:46:39 SUCCESS
ExtractImplicitHashToCallbackResponse
implicit_hash is empty
2020-07-31 12:46:39 REDIRECT-IN
oidcc-refresh-token
Authorization endpoint response captured
url_query
{}
headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 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://fapidev-www.authlete.net/api/authorization/decision",
  "accept-encoding": "gzip, deflate",
  "accept-language": "en-US",
  "cookie": "JSESSIONID\u003d2EC10B595D95FDC4D9FF649FE373C309",
  "origin": "https://fapidev-www.authlete.net/api/authorization/decision",
  "cache-control": "max-age\u003d0",
  "content-type": "application/x-www-form-urlencoded",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "content-length": "65",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net",
  "connection": "close"
}
http_method
POST
url_fragment
{}
post_body
{
  "state": "Qj7i73tYIS",
  "code": "19apeOudZeQ-lV9UiKy--j5rUqGTDdrS3AOh3v2QhRo"
}
Second client: Verify authorization endpoint response
2020-07-31 12:46:39 SUCCESS
CheckCallbackHttpMethodIsPost
HTTP method used at redirect_uri is 'POST'
2020-07-31 12:46:39 SUCCESS
CheckCallbackContentTypeIsFormUrlEncoded
content-type header to redirect_uri has the expected value
content_type
application/x-www-form-urlencoded
expected
application/x-www-form-urlencoded
2020-07-31 12:46:39 SUCCESS
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
2020-07-31 12:46:39 SUCCESS
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
2020-07-31 12:46:39 SUCCESS
CheckMatchingCallbackParameters
Callback parameters successfully verified
2020-07-31 12:46:39 SUCCESS
CheckIfAuthorizationEndpointError
No error from authorization endpoint
2020-07-31 12:46:39 SUCCESS
CheckMatchingStateParameter
State parameter correctly returned
state
Qj7i73tYIS
2020-07-31 12:46:39 SUCCESS
ExtractAuthorizationCodeFromAuthorizationResponse
Found authorization code
code
19apeOudZeQ-lV9UiKy--j5rUqGTDdrS3AOh3v2QhRo
2020-07-31 12:46:39 SUCCESS
CreateTokenEndpointRequestForAuthorizationCodeGrant
grant_type
authorization_code
code
19apeOudZeQ-lV9UiKy--j5rUqGTDdrS3AOh3v2QhRo
redirect_uri
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
2020-07-31 12:46:39 SUCCESS
AddBasicAuthClientSecretAuthenticationParameters
Added basic authorization header
Authorization
Basic NDcwNTUzMzMxNjA0NjMyOjNOTGV6U0ZPanl4dUVScF9jSDN6Rk1ieW05b051cjNOTWRZSUpXaW1pVEhFS1JPdnNEVFQxLUJWZm84QWJMTmlVZ3lJYmJHY3I3OW43ZmtUTDdEOHFB
2020-07-31 12:46:39
CallTokenEndpoint
HTTP request
request_uri
https://fapidev-as.authlete.net/api/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Basic NDcwNTUzMzMxNjA0NjMyOjNOTGV6U0ZPanl4dUVScF9jSDN6Rk1ieW05b051cjNOTWRZSUpXaW1pVEhFS1JPdnNEVFQxLUJWZm84QWJMTmlVZ3lJYmJHY3I3OW43ZmtUTDdEOHFB",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "177"
}
request_body
grant_type=authorization_code&code=19apeOudZeQ-lV9UiKy--j5rUqGTDdrS3AOh3v2QhRo&redirect_uri=https%3A%2F%2Fwww.certification.openid.net%2Ftest%2Fa%2Foidf-authlete-core%2Fcallback
2020-07-31 12:46:40 INFO
WebRunner
Completed processing of webpage
task
Verify Complete
browser
complete
response_status_text
200-
match
https://*/test/a/oidf-authlete-core/callback*
url
https://www.certification.openid.net/test/a/oidf-authlete-core/callback
response_status_code
200
2020-07-31 12:46:40 RESPONSE
CallTokenEndpoint
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "date": "Fri, 31 Jul 2020 12:46:40 GMT",
  "server": "Jetty(9.4.21-SNAPSHOT)",
  "cache-control": "no-store, no-transform",
  "pragma": "no-cache",
  "content-type": "application/json;charset\u003dutf-8",
  "content-length": "1547",
  "keep-alive": "timeout\u003d5, max\u003d100",
  "connection": "Keep-Alive"
}
response_body
{"access_token":"eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvZmZsaW5lX2FjY2VzcyBvcGVuaWQiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NjAwMCwiaWF0IjoxNTk2MTk5NjAwLCJjbGllbnRfaWQiOiI0NzA1NTMzMzE2MDQ2MzIiLCJqdGkiOiJZclpvcms0d3lOaFZGVFpXQkxvMXplOFN3UmNrNVRwQkVwanJxSExVd2tNIn0.FxdmdskUDTgBylf9YhZDcaFduif1AcPOYm-MCH_pRSB6AlUEw22OrcgG5sv4M2SpS6N-LcrrVe-P2PzNmRvUpWyvARAmwOO_fkv6O2KsjZiDJObHZtk_xA96HlQpF48WVy2NIhIl6NBh7EfQPjtJb9jbh9UP8x8_w4P-lFHvpjQkERco_GgSIdUhlIgjCTzHipz0JU3v6sJKnB3ovKLE0sELQs1BVNkxBpdifzUxDzYtW9DGpze62yBvMTeJ3-91wqpKCJKRBVzVPNe0mvUsg6kuu4cclYR5j9wPtXJYTL9ttd6L8WS3SpiG3z9IwpD0Gz69xykkXsR8x_BRjgnaWQ","refresh_token":"i58XS-vKnWUpO-FCLy3AxUEL4514i7NqyCAe5LTCGZA","scope":"offline_access openid","id_token":"eyJraWQiOiJhdXRobGV0ZS1mYXBpZGV2LWFwaS0yMDE4MDUyNCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxMDAxIiwiYXVkIjpbIjQ3MDU1MzMzMTYwNDYzMiJdLCJzX2hhc2giOiIxd0hRZUs3NURHMkViaEJ1eHQ2UmV3IiwiYXV0aF90aW1lIjoxNTk2MTk5NTk1LCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjE5OTkwMCwiaWF0IjoxNTk2MTk5NjAwLCJub25jZSI6ImZtNWxaRkdNcnQifQ.aFeatPvKYwcc0yKDV9vXkabKobyBU3enddjEJik7YzLEv1GM-8KouPhO2xj0fOb2axLRn-4rRDCqrXcKLCTEtbAQ1I4N8Et3s9hv8h0dGxMlrMFxSW8LktppmWk1yWEUC2PTXcVMJwrM4THJA0HqWfTBAJPa5wQTVNCzSpgtq-fqGIT5cZ3-1lJDQgQUXLqXsWZ4gk5ValLnUUFGuEN9qX_bQKIIpLcL2tI0UUC1Et4VHvVRXW1_paBr3mRESE2qRV44wkjumh0otrgReVarfL-z9oyZayaEvvN9rja2NsNHz6uQm8T4vemmXPBDLEr7eOHWF7IGr3B39iP2f3MHDg","token_type":"Bearer","expires_in":86400}
2020-07-31 12:46:40
CallTokenEndpoint
Token endpoint response
token_endpoint_response
{"access_token":"eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvZmZsaW5lX2FjY2VzcyBvcGVuaWQiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NjAwMCwiaWF0IjoxNTk2MTk5NjAwLCJjbGllbnRfaWQiOiI0NzA1NTMzMzE2MDQ2MzIiLCJqdGkiOiJZclpvcms0d3lOaFZGVFpXQkxvMXplOFN3UmNrNVRwQkVwanJxSExVd2tNIn0.FxdmdskUDTgBylf9YhZDcaFduif1AcPOYm-MCH_pRSB6AlUEw22OrcgG5sv4M2SpS6N-LcrrVe-P2PzNmRvUpWyvARAmwOO_fkv6O2KsjZiDJObHZtk_xA96HlQpF48WVy2NIhIl6NBh7EfQPjtJb9jbh9UP8x8_w4P-lFHvpjQkERco_GgSIdUhlIgjCTzHipz0JU3v6sJKnB3ovKLE0sELQs1BVNkxBpdifzUxDzYtW9DGpze62yBvMTeJ3-91wqpKCJKRBVzVPNe0mvUsg6kuu4cclYR5j9wPtXJYTL9ttd6L8WS3SpiG3z9IwpD0Gz69xykkXsR8x_BRjgnaWQ","refresh_token":"i58XS-vKnWUpO-FCLy3AxUEL4514i7NqyCAe5LTCGZA","scope":"offline_access openid","id_token":"eyJraWQiOiJhdXRobGV0ZS1mYXBpZGV2LWFwaS0yMDE4MDUyNCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxMDAxIiwiYXVkIjpbIjQ3MDU1MzMzMTYwNDYzMiJdLCJzX2hhc2giOiIxd0hRZUs3NURHMkViaEJ1eHQ2UmV3IiwiYXV0aF90aW1lIjoxNTk2MTk5NTk1LCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjE5OTkwMCwiaWF0IjoxNTk2MTk5NjAwLCJub25jZSI6ImZtNWxaRkdNcnQifQ.aFeatPvKYwcc0yKDV9vXkabKobyBU3enddjEJik7YzLEv1GM-8KouPhO2xj0fOb2axLRn-4rRDCqrXcKLCTEtbAQ1I4N8Et3s9hv8h0dGxMlrMFxSW8LktppmWk1yWEUC2PTXcVMJwrM4THJA0HqWfTBAJPa5wQTVNCzSpgtq-fqGIT5cZ3-1lJDQgQUXLqXsWZ4gk5ValLnUUFGuEN9qX_bQKIIpLcL2tI0UUC1Et4VHvVRXW1_paBr3mRESE2qRV44wkjumh0otrgReVarfL-z9oyZayaEvvN9rja2NsNHz6uQm8T4vemmXPBDLEr7eOHWF7IGr3B39iP2f3MHDg","token_type":"Bearer","expires_in":86400}
2020-07-31 12:46:40 SUCCESS
CallTokenEndpoint
Parsed token endpoint response
access_token
eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvZmZsaW5lX2FjY2VzcyBvcGVuaWQiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NjAwMCwiaWF0IjoxNTk2MTk5NjAwLCJjbGllbnRfaWQiOiI0NzA1NTMzMzE2MDQ2MzIiLCJqdGkiOiJZclpvcms0d3lOaFZGVFpXQkxvMXplOFN3UmNrNVRwQkVwanJxSExVd2tNIn0.FxdmdskUDTgBylf9YhZDcaFduif1AcPOYm-MCH_pRSB6AlUEw22OrcgG5sv4M2SpS6N-LcrrVe-P2PzNmRvUpWyvARAmwOO_fkv6O2KsjZiDJObHZtk_xA96HlQpF48WVy2NIhIl6NBh7EfQPjtJb9jbh9UP8x8_w4P-lFHvpjQkERco_GgSIdUhlIgjCTzHipz0JU3v6sJKnB3ovKLE0sELQs1BVNkxBpdifzUxDzYtW9DGpze62yBvMTeJ3-91wqpKCJKRBVzVPNe0mvUsg6kuu4cclYR5j9wPtXJYTL9ttd6L8WS3SpiG3z9IwpD0Gz69xykkXsR8x_BRjgnaWQ
refresh_token
i58XS-vKnWUpO-FCLy3AxUEL4514i7NqyCAe5LTCGZA
scope
offline_access openid
id_token
eyJraWQiOiJhdXRobGV0ZS1mYXBpZGV2LWFwaS0yMDE4MDUyNCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxMDAxIiwiYXVkIjpbIjQ3MDU1MzMzMTYwNDYzMiJdLCJzX2hhc2giOiIxd0hRZUs3NURHMkViaEJ1eHQ2UmV3IiwiYXV0aF90aW1lIjoxNTk2MTk5NTk1LCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjE5OTkwMCwiaWF0IjoxNTk2MTk5NjAwLCJub25jZSI6ImZtNWxaRkdNcnQifQ.aFeatPvKYwcc0yKDV9vXkabKobyBU3enddjEJik7YzLEv1GM-8KouPhO2xj0fOb2axLRn-4rRDCqrXcKLCTEtbAQ1I4N8Et3s9hv8h0dGxMlrMFxSW8LktppmWk1yWEUC2PTXcVMJwrM4THJA0HqWfTBAJPa5wQTVNCzSpgtq-fqGIT5cZ3-1lJDQgQUXLqXsWZ4gk5ValLnUUFGuEN9qX_bQKIIpLcL2tI0UUC1Et4VHvVRXW1_paBr3mRESE2qRV44wkjumh0otrgReVarfL-z9oyZayaEvvN9rja2NsNHz6uQm8T4vemmXPBDLEr7eOHWF7IGr3B39iP2f3MHDg
token_type
Bearer
expires_in
86400
2020-07-31 12:46:40 SUCCESS
CheckIfTokenEndpointResponseError
No error from token endpoint
2020-07-31 12:46:40 SUCCESS
CheckForAccessTokenValue
Found an access token
access_token
eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvZmZsaW5lX2FjY2VzcyBvcGVuaWQiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NjAwMCwiaWF0IjoxNTk2MTk5NjAwLCJjbGllbnRfaWQiOiI0NzA1NTMzMzE2MDQ2MzIiLCJqdGkiOiJZclpvcms0d3lOaFZGVFpXQkxvMXplOFN3UmNrNVRwQkVwanJxSExVd2tNIn0.FxdmdskUDTgBylf9YhZDcaFduif1AcPOYm-MCH_pRSB6AlUEw22OrcgG5sv4M2SpS6N-LcrrVe-P2PzNmRvUpWyvARAmwOO_fkv6O2KsjZiDJObHZtk_xA96HlQpF48WVy2NIhIl6NBh7EfQPjtJb9jbh9UP8x8_w4P-lFHvpjQkERco_GgSIdUhlIgjCTzHipz0JU3v6sJKnB3ovKLE0sELQs1BVNkxBpdifzUxDzYtW9DGpze62yBvMTeJ3-91wqpKCJKRBVzVPNe0mvUsg6kuu4cclYR5j9wPtXJYTL9ttd6L8WS3SpiG3z9IwpD0Gz69xykkXsR8x_BRjgnaWQ
2020-07-31 12:46:40 SUCCESS
ExtractAccessTokenFromTokenResponse
Extracted the access token
value
eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvZmZsaW5lX2FjY2VzcyBvcGVuaWQiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NjAwMCwiaWF0IjoxNTk2MTk5NjAwLCJjbGllbnRfaWQiOiI0NzA1NTMzMzE2MDQ2MzIiLCJqdGkiOiJZclpvcms0d3lOaFZGVFpXQkxvMXplOFN3UmNrNVRwQkVwanJxSExVd2tNIn0.FxdmdskUDTgBylf9YhZDcaFduif1AcPOYm-MCH_pRSB6AlUEw22OrcgG5sv4M2SpS6N-LcrrVe-P2PzNmRvUpWyvARAmwOO_fkv6O2KsjZiDJObHZtk_xA96HlQpF48WVy2NIhIl6NBh7EfQPjtJb9jbh9UP8x8_w4P-lFHvpjQkERco_GgSIdUhlIgjCTzHipz0JU3v6sJKnB3ovKLE0sELQs1BVNkxBpdifzUxDzYtW9DGpze62yBvMTeJ3-91wqpKCJKRBVzVPNe0mvUsg6kuu4cclYR5j9wPtXJYTL9ttd6L8WS3SpiG3z9IwpD0Gz69xykkXsR8x_BRjgnaWQ
type
Bearer
2020-07-31 12:46:40 SUCCESS
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
expires_in
86400
2020-07-31 12:46:40 SUCCESS
ValidateExpiresIn
expires_in passed all validation checks
expires_in
86400
2020-07-31 12:46:40 SUCCESS
CheckForRefreshTokenValue
Found a refresh token
refresh_token
i58XS-vKnWUpO-FCLy3AxUEL4514i7NqyCAe5LTCGZA
2020-07-31 12:46:40 SUCCESS
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
value
eyJraWQiOiJhdXRobGV0ZS1mYXBpZGV2LWFwaS0yMDE4MDUyNCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxMDAxIiwiYXVkIjpbIjQ3MDU1MzMzMTYwNDYzMiJdLCJzX2hhc2giOiIxd0hRZUs3NURHMkViaEJ1eHQ2UmV3IiwiYXV0aF90aW1lIjoxNTk2MTk5NTk1LCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjE5OTkwMCwiaWF0IjoxNTk2MTk5NjAwLCJub25jZSI6ImZtNWxaRkdNcnQifQ.aFeatPvKYwcc0yKDV9vXkabKobyBU3enddjEJik7YzLEv1GM-8KouPhO2xj0fOb2axLRn-4rRDCqrXcKLCTEtbAQ1I4N8Et3s9hv8h0dGxMlrMFxSW8LktppmWk1yWEUC2PTXcVMJwrM4THJA0HqWfTBAJPa5wQTVNCzSpgtq-fqGIT5cZ3-1lJDQgQUXLqXsWZ4gk5ValLnUUFGuEN9qX_bQKIIpLcL2tI0UUC1Et4VHvVRXW1_paBr3mRESE2qRV44wkjumh0otrgReVarfL-z9oyZayaEvvN9rja2NsNHz6uQm8T4vemmXPBDLEr7eOHWF7IGr3B39iP2f3MHDg
header
{
  "kid": "authlete-fapidev-api-20180524",
  "alg": "RS256"
}
claims
{
  "sub": "1001",
  "aud": "470553331604632",
  "s_hash": "1wHQeK75DG2EbhBuxt6Rew",
  "auth_time": 1596199595,
  "iss": "https://fapidev-as.authlete.net/",
  "exp": 1596199900,
  "iat": 1596199600,
  "nonce": "fm5lZFGMrt"
}
2020-07-31 12:46:40 SUCCESS
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
2020-07-31 12:46:40 SUCCESS
ValidateIdTokenNonce
Nonce values match
nonce
fm5lZFGMrt
2020-07-31 12:46:40 SUCCESS
ValidateIdTokenACRClaimAgainstRequest
Nothing to check; the conformance suite did not request an acr claim in request object
2020-07-31 12:46:40 SUCCESS
ValidateIdTokenSignature
id_token signature validated
id_token
eyJraWQiOiJhdXRobGV0ZS1mYXBpZGV2LWFwaS0yMDE4MDUyNCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxMDAxIiwiYXVkIjpbIjQ3MDU1MzMzMTYwNDYzMiJdLCJzX2hhc2giOiIxd0hRZUs3NURHMkViaEJ1eHQ2UmV3IiwiYXV0aF90aW1lIjoxNTk2MTk5NTk1LCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjE5OTkwMCwiaWF0IjoxNTk2MTk5NjAwLCJub25jZSI6ImZtNWxaRkdNcnQifQ.aFeatPvKYwcc0yKDV9vXkabKobyBU3enddjEJik7YzLEv1GM-8KouPhO2xj0fOb2axLRn-4rRDCqrXcKLCTEtbAQ1I4N8Et3s9hv8h0dGxMlrMFxSW8LktppmWk1yWEUC2PTXcVMJwrM4THJA0HqWfTBAJPa5wQTVNCzSpgtq-fqGIT5cZ3-1lJDQgQUXLqXsWZ4gk5ValLnUUFGuEN9qX_bQKIIpLcL2tI0UUC1Et4VHvVRXW1_paBr3mRESE2qRV44wkjumh0otrgReVarfL-z9oyZayaEvvN9rja2NsNHz6uQm8T4vemmXPBDLEr7eOHWF7IGr3B39iP2f3MHDg
2020-07-31 12:46:40 SUCCESS
ValidateIdTokenSignatureUsingKid
id_token signature validated
id_token
eyJraWQiOiJhdXRobGV0ZS1mYXBpZGV2LWFwaS0yMDE4MDUyNCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIxMDAxIiwiYXVkIjpbIjQ3MDU1MzMzMTYwNDYzMiJdLCJzX2hhc2giOiIxd0hRZUs3NURHMkViaEJ1eHQ2UmV3IiwiYXV0aF90aW1lIjoxNTk2MTk5NTk1LCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjE5OTkwMCwiaWF0IjoxNTk2MTk5NjAwLCJub25jZSI6ImZtNWxaRkdNcnQifQ.aFeatPvKYwcc0yKDV9vXkabKobyBU3enddjEJik7YzLEv1GM-8KouPhO2xj0fOb2axLRn-4rRDCqrXcKLCTEtbAQ1I4N8Et3s9hv8h0dGxMlrMFxSW8LktppmWk1yWEUC2PTXcVMJwrM4THJA0HqWfTBAJPa5wQTVNCzSpgtq-fqGIT5cZ3-1lJDQgQUXLqXsWZ4gk5ValLnUUFGuEN9qX_bQKIIpLcL2tI0UUC1Et4VHvVRXW1_paBr3mRESE2qRV44wkjumh0otrgReVarfL-z9oyZayaEvvN9rja2NsNHz6uQm8T4vemmXPBDLEr7eOHWF7IGr3B39iP2f3MHDg
2020-07-31 12:46:40 SUCCESS
CheckForSubjectInIdToken
Found 'sub' in id_token
sub
1001
2020-07-31 12:46:40 SUCCESS
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
refresh_token
i58XS-vKnWUpO-FCLy3AxUEL4514i7NqyCAe5LTCGZA
2020-07-31 12:46:40 SUCCESS
EnsureServerConfigurationSupportsRefreshToken
The server configuration indicates support for refresh tokens
supported_grant_types
[
  "authorization_code",
  "implicit",
  "password",
  "client_credentials",
  "refresh_token",
  "urn:openid:params:grant-type:ciba",
  "urn:ietf:params:oauth:grant-type:device_code"
]
2020-07-31 12:46:40 SUCCESS
EnsureRefreshTokenContainsAllowedCharactersOnly
Refresh token does not contain any illegal characters
Second client: Refresh Token Request
2020-07-31 12:46:40 SUCCESS
CreateRefreshTokenRequest
Created token endpoint request parameters
grant_type
refresh_token
refresh_token
i58XS-vKnWUpO-FCLy3AxUEL4514i7NqyCAe5LTCGZA
2020-07-31 12:46:40 SUCCESS
AddBasicAuthClientSecretAuthenticationParameters
Added basic authorization header
Authorization
Basic NDcwNTUzMzMxNjA0NjMyOjNOTGV6U0ZPanl4dUVScF9jSDN6Rk1ieW05b051cjNOTWRZSUpXaW1pVEhFS1JPdnNEVFQxLUJWZm84QWJMTmlVZ3lJYmJHY3I3OW43ZmtUTDdEOHFB
2020-07-31 12:46:40 SUCCESS
WaitForOneSecond
Pausing for 1 seconds
2020-07-31 12:46:41 SUCCESS
WaitForOneSecond
Woke up after 1 seconds sleep
2020-07-31 12:46:41
CallTokenEndpointAndReturnFullResponse
HTTP request
request_uri
https://fapidev-as.authlete.net/api/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Basic NDcwNTUzMzMxNjA0NjMyOjNOTGV6U0ZPanl4dUVScF9jSDN6Rk1ieW05b051cjNOTWRZSUpXaW1pVEhFS1JPdnNEVFQxLUJWZm84QWJMTmlVZ3lJYmJHY3I3OW43ZmtUTDdEOHFB",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "82"
}
request_body
grant_type=refresh_token&refresh_token=i58XS-vKnWUpO-FCLy3AxUEL4514i7NqyCAe5LTCGZA
2020-07-31 12:46:41 RESPONSE
CallTokenEndpointAndReturnFullResponse
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "date": "Fri, 31 Jul 2020 12:46:41 GMT",
  "server": "Jetty(9.4.21-SNAPSHOT)",
  "cache-control": "no-store, no-transform",
  "pragma": "no-cache",
  "content-type": "application/json;charset\u003dutf-8",
  "content-length": "860",
  "keep-alive": "timeout\u003d5, max\u003d100",
  "connection": "Keep-Alive"
}
response_body
{"access_token":"eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NjAwMSwiaWF0IjoxNTk2MTk5NjAxLCJjbGllbnRfaWQiOiI0NzA1NTMzMzE2MDQ2MzIiLCJqdGkiOiJOYkpaV1JRZlRyOGFoYlZLQTZsQlhNRmE4MkhQUFpwSlROTGVWNG1ES2NRIn0.h__closz40j5rVcT4vYHSvVBeq3oVQ89xa54lvGF0OoyB0TmW4Hb2Hw1VkjgoJJx9JLoDzMF6tzxQMPmDeXZcXQNPmqX43tGNJbl-IzvkXLyJZz2wdtHnXnyLAUfLp2lIOs2S3zrwV9KqEjRcXtid4wEJs90q9WIJ_mg2KnGBDirAi0ofOT8zbYVYqeLeZMp5tOdBcy5aRLSZ8vWLOAG4H6UBR-Jh4fbwI_c7h1Q2Cqe9uoloO6PZh_GyYnFzxoERxGpwA3TjCEbUhq7pSJHZ_9q_ON_RAEK8-Dg8XeO3IInNmuJBTe_KO_1zYNpnBxxDQK0-H36a-yyEidYClBIAw","refresh_token":"ljzcExlOF8SNMhe9iGR1BFxHzVRhILVw91pBG5eJnns","scope":"openid offline_access","token_type":"Bearer","expires_in":86400}
2020-07-31 12:46:41 SUCCESS
CallTokenEndpointAndReturnFullResponse
Parsed token endpoint response
access_token
eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NjAwMSwiaWF0IjoxNTk2MTk5NjAxLCJjbGllbnRfaWQiOiI0NzA1NTMzMzE2MDQ2MzIiLCJqdGkiOiJOYkpaV1JRZlRyOGFoYlZLQTZsQlhNRmE4MkhQUFpwSlROTGVWNG1ES2NRIn0.h__closz40j5rVcT4vYHSvVBeq3oVQ89xa54lvGF0OoyB0TmW4Hb2Hw1VkjgoJJx9JLoDzMF6tzxQMPmDeXZcXQNPmqX43tGNJbl-IzvkXLyJZz2wdtHnXnyLAUfLp2lIOs2S3zrwV9KqEjRcXtid4wEJs90q9WIJ_mg2KnGBDirAi0ofOT8zbYVYqeLeZMp5tOdBcy5aRLSZ8vWLOAG4H6UBR-Jh4fbwI_c7h1Q2Cqe9uoloO6PZh_GyYnFzxoERxGpwA3TjCEbUhq7pSJHZ_9q_ON_RAEK8-Dg8XeO3IInNmuJBTe_KO_1zYNpnBxxDQK0-H36a-yyEidYClBIAw
refresh_token
ljzcExlOF8SNMhe9iGR1BFxHzVRhILVw91pBG5eJnns
scope
openid offline_access
token_type
Bearer
expires_in
86400
2020-07-31 12:46:41 SUCCESS
CheckTokenEndpointHttpStatus200
Token endpoint http status code was 200
2020-07-31 12:46:41 SUCCESS
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
2020-07-31 12:46:41 SUCCESS
CheckTokenEndpointCacheHeaders
Checked 'pragma' and 'cache-control' in the headers of token_endpoint_response.
2020-07-31 12:46:41 SUCCESS
CheckIfTokenEndpointResponseError
No error from token endpoint
2020-07-31 12:46:41 SUCCESS
ExtractAccessTokenFromTokenResponse
Extracted the access token
value
eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NjAwMSwiaWF0IjoxNTk2MTk5NjAxLCJjbGllbnRfaWQiOiI0NzA1NTMzMzE2MDQ2MzIiLCJqdGkiOiJOYkpaV1JRZlRyOGFoYlZLQTZsQlhNRmE4MkhQUFpwSlROTGVWNG1ES2NRIn0.h__closz40j5rVcT4vYHSvVBeq3oVQ89xa54lvGF0OoyB0TmW4Hb2Hw1VkjgoJJx9JLoDzMF6tzxQMPmDeXZcXQNPmqX43tGNJbl-IzvkXLyJZz2wdtHnXnyLAUfLp2lIOs2S3zrwV9KqEjRcXtid4wEJs90q9WIJ_mg2KnGBDirAi0ofOT8zbYVYqeLeZMp5tOdBcy5aRLSZ8vWLOAG4H6UBR-Jh4fbwI_c7h1Q2Cqe9uoloO6PZh_GyYnFzxoERxGpwA3TjCEbUhq7pSJHZ_9q_ON_RAEK8-Dg8XeO3IInNmuJBTe_KO_1zYNpnBxxDQK0-H36a-yyEidYClBIAw
type
Bearer
2020-07-31 12:46:41 SUCCESS
CheckTokenTypeIsBearer
Token type is bearer
2020-07-31 12:46:41 SUCCESS
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
actual
4142.2800917987215
expected
96.0
2020-07-31 12:46:41 SUCCESS
EnsureAccessTokenContainsAllowedCharactersOnly
Access token does not contain any illegal characters
2020-07-31 12:46:41 SUCCESS
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
expires_in
86400
2020-07-31 12:46:41 SUCCESS
ValidateExpiresIn
expires_in passed all validation checks
expires_in
86400
2020-07-31 12:46:41 SUCCESS
EnsureAccessTokenValuesAreDifferent
Access token values are not the same
first_access_token
eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvZmZsaW5lX2FjY2VzcyBvcGVuaWQiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NjAwMCwiaWF0IjoxNTk2MTk5NjAwLCJjbGllbnRfaWQiOiI0NzA1NTMzMzE2MDQ2MzIiLCJqdGkiOiJZclpvcms0d3lOaFZGVFpXQkxvMXplOFN3UmNrNVRwQkVwanJxSExVd2tNIn0.FxdmdskUDTgBylf9YhZDcaFduif1AcPOYm-MCH_pRSB6AlUEw22OrcgG5sv4M2SpS6N-LcrrVe-P2PzNmRvUpWyvARAmwOO_fkv6O2KsjZiDJObHZtk_xA96HlQpF48WVy2NIhIl6NBh7EfQPjtJb9jbh9UP8x8_w4P-lFHvpjQkERco_GgSIdUhlIgjCTzHipz0JU3v6sJKnB3ovKLE0sELQs1BVNkxBpdifzUxDzYtW9DGpze62yBvMTeJ3-91wqpKCJKRBVzVPNe0mvUsg6kuu4cclYR5j9wPtXJYTL9ttd6L8WS3SpiG3z9IwpD0Gz69xykkXsR8x_BRjgnaWQ
second_access_token
eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NjAwMSwiaWF0IjoxNTk2MTk5NjAxLCJjbGllbnRfaWQiOiI0NzA1NTMzMzE2MDQ2MzIiLCJqdGkiOiJOYkpaV1JRZlRyOGFoYlZLQTZsQlhNRmE4MkhQUFpwSlROTGVWNG1ES2NRIn0.h__closz40j5rVcT4vYHSvVBeq3oVQ89xa54lvGF0OoyB0TmW4Hb2Hw1VkjgoJJx9JLoDzMF6tzxQMPmDeXZcXQNPmqX43tGNJbl-IzvkXLyJZz2wdtHnXnyLAUfLp2lIOs2S3zrwV9KqEjRcXtid4wEJs90q9WIJ_mg2KnGBDirAi0ofOT8zbYVYqeLeZMp5tOdBcy5aRLSZ8vWLOAG4H6UBR-Jh4fbwI_c7h1Q2Cqe9uoloO6PZh_GyYnFzxoERxGpwA3TjCEbUhq7pSJHZ_9q_ON_RAEK8-Dg8XeO3IInNmuJBTe_KO_1zYNpnBxxDQK0-H36a-yyEidYClBIAw
2020-07-31 12:46:41 INFO
ExtractIdTokenFromTokenResponse
Couldn't find id_token in token_endpoint_response
2020-07-31 12:46:41 SUCCESS
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
refresh_token
ljzcExlOF8SNMhe9iGR1BFxHzVRhILVw91pBG5eJnns
2020-07-31 12:46:41 SUCCESS
EnsureMinimumRefreshTokenLength
Refresh token is of sufficient length
actual
344
required
128
2020-07-31 12:46:41 SUCCESS
EnsureMinimumRefreshTokenEntropy
Calculated shannon entropy seems sufficient
actual
207.32938445219017
expected
96.0
2020-07-31 12:46:41 INFO
CompareIdTokenClaims
Skipped evaluation due to missing required object: second_id_token
expected
second_id_token
mapped
second_id_token
Second client: Userinfo endpoint tests
2020-07-31 12:46:41
CallProtectedResourceWithBearerToken
HTTP request
request_uri
https://fapidev-rs.authlete.net/api/userinfo
request_method
GET
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Bearer eyJhbGciOiJQUzI1NiIsInR5cCI6ImF0K2p3dCIsImtpZCI6ImF1dGhsZXRlLWZhcGlkZXYtYXBpLTIwMTgwNTI0In0.eyJzdWIiOiIxMDAxIiwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MiLCJpc3MiOiJodHRwczovL2ZhcGlkZXYtYXMuYXV0aGxldGUubmV0LyIsImV4cCI6MTU5NjI4NjAwMSwiaWF0IjoxNTk2MTk5NjAxLCJjbGllbnRfaWQiOiI0NzA1NTMzMzE2MDQ2MzIiLCJqdGkiOiJOYkpaV1JRZlRyOGFoYlZLQTZsQlhNRmE4MkhQUFpwSlROTGVWNG1ES2NRIn0.h__closz40j5rVcT4vYHSvVBeq3oVQ89xa54lvGF0OoyB0TmW4Hb2Hw1VkjgoJJx9JLoDzMF6tzxQMPmDeXZcXQNPmqX43tGNJbl-IzvkXLyJZz2wdtHnXnyLAUfLp2lIOs2S3zrwV9KqEjRcXtid4wEJs90q9WIJ_mg2KnGBDirAi0ofOT8zbYVYqeLeZMp5tOdBcy5aRLSZ8vWLOAG4H6UBR-Jh4fbwI_c7h1Q2Cqe9uoloO6PZh_GyYnFzxoERxGpwA3TjCEbUhq7pSJHZ_9q_ON_RAEK8-Dg8XeO3IInNmuJBTe_KO_1zYNpnBxxDQK0-H36a-yyEidYClBIAw",
  "accept-charset": "utf-8",
  "content-length": "0"
}
request_body

                                
2020-07-31 12:46:42 RESPONSE
CallProtectedResourceWithBearerToken
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "date": "Fri, 31 Jul 2020 12:46:41 GMT",
  "server": "Jetty(9.4.21-SNAPSHOT)",
  "cache-control": "no-store, no-transform",
  "pragma": "no-cache",
  "content-type": "application/json;charset\u003dutf-8",
  "content-length": "14",
  "keep-alive": "timeout\u003d5, max\u003d100",
  "connection": "Keep-Alive"
}
response_body
{"sub":"1001"}
2020-07-31 12:46:42 SUCCESS
CallProtectedResourceWithBearerToken
Got a response from the resource endpoint
headers
{
  "date": "Fri, 31 Jul 2020 12:46:41 GMT",
  "server": "Jetty(9.4.21-SNAPSHOT)",
  "cache-control": "no-store, no-transform",
  "pragma": "no-cache",
  "content-type": "application/json;charset\u003dutf-8",
  "content-length": "14",
  "keep-alive": "timeout\u003d5, max\u003d100",
  "connection": "Keep-Alive"
}
status_code
{
  "code": 200
}
body
{"sub":"1001"}
Attempting to use refresh_token issued to client 2 with client 1
2020-07-31 12:46:42 SUCCESS
CreateRefreshTokenRequest
Created token endpoint request parameters
grant_type
refresh_token
refresh_token
ljzcExlOF8SNMhe9iGR1BFxHzVRhILVw91pBG5eJnns
2020-07-31 12:46:42 SUCCESS
AddScopeToTokenEndpointRequest
Added scope of 'openid offline_access' to token endpoint request
grant_type
refresh_token
refresh_token
ljzcExlOF8SNMhe9iGR1BFxHzVRhILVw91pBG5eJnns
scope
openid offline_access
2020-07-31 12:46:42 SUCCESS
AddBasicAuthClientSecretAuthenticationParameters
Added basic authorization header
Authorization
Basic NDcwNTE5ODI0MTgwMzE3OkVrMkNpdU9ybWZkaHZzakdsMDM3X3BzY0NtWXNla3M0YnpTU3hjM1VaVWNyLTlLaTJybENSZGdfTXQtVWtjOWItTHBham5NVWN3bXpxZ1hzLWVES3p3
2020-07-31 12:46:42
CallTokenEndpointAndReturnFullResponse
HTTP request
request_uri
https://fapidev-as.authlete.net/api/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Basic NDcwNTE5ODI0MTgwMzE3OkVrMkNpdU9ybWZkaHZzakdsMDM3X3BzY0NtWXNla3M0YnpTU3hjM1VaVWNyLTlLaTJybENSZGdfTXQtVWtjOWItTHBham5NVWN3bXpxZ1hzLWVES3p3",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "110"
}
request_body
grant_type=refresh_token&refresh_token=ljzcExlOF8SNMhe9iGR1BFxHzVRhILVw91pBG5eJnns&scope=openid+offline_access
2020-07-31 12:46:42 RESPONSE
CallTokenEndpointAndReturnFullResponse
HTTP response
response_status_code
400 BAD_REQUEST
response_status_text
Bad Request
response_headers
{
  "date": "Fri, 31 Jul 2020 12:46:42 GMT",
  "server": "Jetty(9.4.21-SNAPSHOT)",
  "cache-control": "no-store, no-transform",
  "pragma": "no-cache",
  "content-type": "application/json;charset\u003dutf-8",
  "content-length": "155",
  "connection": "close"
}
response_body
{"error_description":"[A053307] The refresh token does not belong to the client.","error":"invalid_grant","error_uri":"https://docs.authlete.com/#A053307"}
2020-07-31 12:46:42 SUCCESS
CallTokenEndpointAndReturnFullResponse
Parsed token endpoint response
error_description
[A053307] The refresh token does not belong to the client.
error
invalid_grant
error_uri
https://docs.authlete.com/#A053307
2020-07-31 12:46:42 SUCCESS
ValidateErrorFromTokenEndpointResponseError
Token endpoint response error returned valid 'error' field
error
invalid_grant
2020-07-31 12:46:42 SUCCESS
CheckTokenEndpointHttpStatus400
Token endpoint http status code was 400
2020-07-31 12:46:42 SUCCESS
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
2020-07-31 12:46:42 SUCCESS
CheckErrorFromTokenEndpointResponseErrorInvalidGrant
Token Endpoint response error returned expected 'error' of 'invalid_grant'
error
invalid_grant
2020-07-31 12:46:42 FINISHED
oidcc-refresh-token
Test has run to completion
testmodule_result
PASSED
Unregister dynamically registered client
2020-07-31 12:46:42 INFO
UnregisterDynamicallyRegisteredClient
Skipped evaluation due to missing required string: registration_client_uri
expected
registration_client_uri
Second client: Unregister dynamically registered client
2020-07-31 12:46:42 INFO
UnregisterDynamicallyRegisteredClient
Skipped evaluation due to missing required string: registration_client_uri
expected
registration_client_uri
Test Results