Test Info

Issuerhttps://testop.funet.fi
Profile[]
Test IDOP-IDToken-kid
Test descriptionIDToken has kid [Basic, Implicit, Hybrid]
Timestamp2019-04-29T13:20:26Z

Conditions


verify-response: status=OK [Checks that the last response was one of a possible set of OpenID Connect Responses]
verify-signed-idtoken-has-kid: status=OK [Verifies that the header of a signed IDToken includes a kid claim.]
Done: status=OK

Trace Output

0phase<--<-- 0 --- Webfinger -->-->
0not expected to doWebFinger
0phase<--<-- 1 --- Discovery -->-->
0provider_config
kwargs:{'issuer': 'https://testop.funet.fi'}
1http response
url:https://testop.funet.fi/.well-known/openid-configuration status_code:200
1ProviderConfigurationResponse
{
    "authorization_endpoint": "https://testop.funet.fi/idp/profile/oidc/authorize",
    "claims_parameter_supported": true,
    "claims_supported": [
        "aud",
        "iss",
        "sub",
        "iat",
        "exp",
        "acr",
        "auth_time",
        "email",
        "email_verified",
        "address",
        "phone",
        "phone_number_verified",
        "name",
        "family_name",
        "given_name",
        "middle_name",
        "nickname",
        "preferred_username",
        "profile",
        "picture",
        "website",
        "gender",
        "birthdate",
        "zoneinfo",
        "locale",
        "updated_at"
    ],
    "display_values_supported": [
        "page"
    ],
    "grant_types_supported": [
        "authorization_code",
        "implicit",
        "refresh_token"
    ],
    "id_token_encryption_alg_values_supported": [
        "RSA1_5",
        "RSA-OAEP",
        "RSA-OAEP-256",
        "A128KW",
        "A192KW",
        "A256KW"
    ],
    "id_token_encryption_enc_values_supported": [
        "A128CBC-HS256",
        "A192CBC-HS384",
        "A256CBC-HS512",
        "A128GCM",
        "A192GCM",
        "A256GCM"
    ],
    "id_token_signing_alg_values_supported": [
        "RS256",
        "RS384",
        "RS512",
        "HS256",
        "HS384",
        "HS512",
        "ES256"
    ],
    "issuer": "https://testop.funet.fi",
    "jwks_uri": "https://testop.funet.fi/idp/profile/oidc/keyset",
    "registration_endpoint": "https://testop.funet.fi/idp/profile/oidc/register",
    "request_object_encryption_alg_values_supported": [
        "RSA1_5",
        "RSA-OAEP",
        "RSA-OAEP-256",
        "A128KW",
        "A192KW",
        "A256KW"
    ],
    "request_object_encryption_enc_values_supported": [
        "A128CBC-HS256",
        "A192CBC-HS384",
        "A256CBC-HS512",
        "A128GCM",
        "A192GCM",
        "A256GCM"
    ],
    "request_object_signing_alg_values_supported": [
        "none",
        "RS256",
        "RS384",
        "RS512",
        "HS256",
        "HS384",
        "HS512",
        "ES256",
        "ES384",
        "ES512"
    ],
    "request_parameter_supported": true,
    "request_uri_parameter_supported": true,
    "require_request_uri_registration": false,
    "response_modes_supported": [
        "query",
        "fragment",
        "form_post"
    ],
    "response_types_supported": [
        "code",
        "id_token",
        "token id_token",
        "code id_token",
        "code token",
        "code token id_token"
    ],
    "scopes_supported": [
        "openid",
        "profile",
        "email",
        "address",
        "phone",
        "offline_access"
    ],
    "subject_types_supported": [
        "public",
        "pairwise"
    ],
    "token_endpoint": "https://testop.funet.fi/idp/profile/oidc/token",
    "token_endpoint_auth_methods_supported": [
        "client_secret_basic",
        "client_secret_post",
        "client_secret_jwt",
        "private_key_jwt"
    ],
    "userinfo_encryption_alg_values_supported": [
        "RSA1_5",
        "RSA-OAEP",
        "RSA-OAEP-256",
        "A128KW",
        "A192KW",
        "A256KW"
    ],
    "userinfo_encryption_enc_values_supported": [
        "A128CBC-HS256",
        "A192CBC-HS384",
        "A256CBC-HS512",
        "A128GCM",
        "A192GCM",
        "A256GCM"
    ],
    "userinfo_endpoint": "https://testop.funet.fi/idp/profile/oidc/userinfo",
    "userinfo_signing_alg_values_supported": [
        "RS256",
        "RS384",
        "RS512",
        "HS256",
        "HS384",
        "HS512",
        "ES256"
    ],
    "version": "3.0"
}
1phase<--<-- 2 --- Registration -->-->
1register
kwargs:{'response_types': ['id_token token'], 'grant_types': ['implicit'], 'application_name': 'OIC test tool', 'application_type': 'web', 'redirect_uris': ['https://op.certification.openid.net:60028/authz_cb'], 'contacts': ['roland@example.com'], 'post_logout_redirect_uris': ['https://op.certification.openid.net:60028/logout'], 'url': 'https://testop.funet.fi/idp/profile/oidc/register', 'jwks_uri': 'https://op.certification.openid.net:60028/static/jwks_60028.json', 'token_endpoint_auth_method': 'client_secret_basic'}
1RegistrationRequest
{
    "application_type": "web",
    "contacts": [
        "roland@example.com"
    ],
    "grant_types": [
        "implicit"
    ],
    "jwks_uri": "https://op.certification.openid.net:60028/static/jwks_60028.json",
    "post_logout_redirect_uris": [
        "https://op.certification.openid.net:60028/logout"
    ],
    "redirect_uris": [
        "https://op.certification.openid.net:60028/authz_cb"
    ],
    "response_types": [
        "id_token token"
    ],
    "token_endpoint_auth_method": "client_secret_basic"
}
2http response
url:https://testop.funet.fi/idp/profile/oidc/register status_code:200
2RegistrationResponse
{
    "application_type": "web",
    "client_id": "_2d0376294147b4e424f3cc26fd39832d",
    "client_id_issued_at": 1556544023,
    "client_secret": "_e367e6c0d28c010e3dc468e043faa7e0",
    "client_secret_expires_at": 1588080022,
    "contacts": [
        "roland@example.com"
    ],
    "grant_types": [
        "implicit"
    ],
    "id_token_signed_response_alg": "RS256",
    "jwks_uri": "https://op.certification.openid.net:60028/static/jwks_60028.json",
    "redirect_uris": [
        "https://op.certification.openid.net:60028/authz_cb"
    ],
    "response_types": [
        "id_token token"
    ],
    "scope": "openid profile email address phone offline_access",
    "subject_type": "public",
    "tls_client_certificate_bound_access_tokens": false,
    "token_endpoint_auth_method": "client_secret_basic"
}
2phase<--<-- 3 --- AsyncAuthn -->-->
2AuthorizationRequest
{
    "client_id": "_2d0376294147b4e424f3cc26fd39832d",
    "nonce": "yMMoMzpDv8e4Af9G",
    "redirect_uri": "https://op.certification.openid.net:60028/authz_cb",
    "response_type": "id_token token",
    "scope": "openid",
    "state": "SlOIftMWsGjQWsrI"
}
2redirect urlhttps://testop.funet.fi/idp/profile/oidc/authorize?state=SlOIftMWsGjQWsrI&nonce=yMMoMzpDv8e4Af9G&response_type=id_token+token&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A60028%2Fauthz_cb&client_id=_2d0376294147b4e424f3cc26fd39832d
2redirecthttps://testop.funet.fi/idp/profile/oidc/authorize?state=SlOIftMWsGjQWsrI&nonce=yMMoMzpDv8e4Af9G&response_type=id_token+token&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A60028%2Fauthz_cb&client_id=_2d0376294147b4e424f3cc26fd39832d
5http args{}
5responseURL with fragment
5responseaccess_token=AAdzZWNyZXQxnb55BCv3bfCb1Bf4ZDJIY1qUL1PaOuVvQYegoVJsQ1-qXWFSOGkmiqgLduYPTrxqKWo9qObcAURY4L9BF8hqPhAt0AEzqkV-c2a9wsAMctSD45ksNBMt1gIP9AMCuwcYAiOJI3Hr8h4p17DOsEzGO31_-htQEdvcM191d-O4J9JNNE4XviJj824OaUf_z8YZcRBr61J0RNZ76X75lWg_Pf-gppjRXepfwOREr4003qXjrA3Q2w1eaXzKN6NTAntfkF0AVBYidKOzr7jqD1Fa6bmNeRDddfdqetNbfFaH5MTUvtNODYiEDSE3TthB2a_DvbCkRGicx_gfE-Ln-7qAS8pBaVBheG9l5L8_jo225nl81r9xKyx2k51EqlddlZoNkFkuuAEXsj_9XY_chTaePX84cnVydqgyZm_YeN5M7AoKgcxjsWrS62KaPT1TZumlKPoqJyap87T9BPSq1Q7_E14kQJPoA5UkDTQofEEHv9uFCg&id_token=eyJraWQiOiJ0ZXN0a2V5UlMiLCJhbGciOiJSUzI1NiJ9.eyJhdF9oYXNoIjoiY0E4WjlwSGs3QVllZ3k0ZGZZRzAzUSIsInN1YiI6IlZVRzQ3NzdZUDNOTVU1S1JGRVNYNlNLUkFQWExFNE1JIiwiYXVkIjoiXzJkMDM3NjI5NDE0N2I0ZTQyNGYzY2MyNmZkMzk4MzJkIiwiYWNyIjoicGFzc3dvcmQiLCJhdXRoX3RpbWUiOjE1NTY1NDMwMTEsImlzcyI6Imh0dHBzOlwvXC90ZXN0b3AuZnVuZXQuZmkiLCJleHAiOjE1NTY1NDc2MjUsImlhdCI6MTU1NjU0NDAyNSwibm9uY2UiOiJ5TU1vTXpwRHY4ZTRBZjlHIn0.jXI7G6rZIsL8MvrmRFb6Rv_VSErAHBf909cbGFR48soAjmfGUK2sBz9aopx17ApDOqI3frb7x1K3xZDpq4tD8el9fQ8xxjI0Lfz1cIaIiijKD_FP_FY_ZF_kGgN3CSMO06M-k5Rz0uJgGGo1Hu9A_rLEmqwEQ1TlL4QSy8po96pVIMCj_oAU4NqcAo4s_t0cCOKYODF06BGdVO_Rtv1QZh1jH0d5nhf8L9a21RV8VVlNZEl6C3Uwe0NAOl9OeqSjrpEVMVR1VJl8ULjNax8xtr6lHfh-u7ugvl6Sg5eGaRYhlI0czirT6uqjkjsGLTN2tLC3bVSjhBAcSOtiFj1Rng&state=SlOIftMWsGjQWsrI&token_type=Bearer&expires_in=600
5response{'access_token': 'AAdzZWNyZXQxnb55BCv3bfCb1Bf4ZDJIY1qUL1PaOuVvQYegoVJsQ1-qXWFSOGkmiqgLduYPTrxqKWo9qObcAURY4L9BF8hqPhAt0AEzqkV-c2a9wsAMctSD45ksNBMt1gIP9AMCuwcYAiOJI3Hr8h4p17DOsEzGO31_-htQEdvcM191d-O4J9JNNE4XviJj824OaUf_z8YZcRBr61J0RNZ76X75lWg_Pf-gppjRXepfwOREr4003qXjrA3Q2w1eaXzKN6NTAntfkF0AVBYidKOzr7jqD1Fa6bmNeRDddfdqetNbfFaH5MTUvtNODYiEDSE3TthB2a_DvbCkRGicx_gfE-Ln-7qAS8pBaVBheG9l5L8_jo225nl81r9xKyx2k51EqlddlZoNkFkuuAEXsj_9XY_chTaePX84cnVydqgyZm_YeN5M7AoKgcxjsWrS62KaPT1TZumlKPoqJyap87T9BPSq1Q7_E14kQJPoA5UkDTQofEEHv9uFCg', 'id_token': 'eyJraWQiOiJ0ZXN0a2V5UlMiLCJhbGciOiJSUzI1NiJ9.eyJhdF9oYXNoIjoiY0E4WjlwSGs3QVllZ3k0ZGZZRzAzUSIsInN1YiI6IlZVRzQ3NzdZUDNOTVU1S1JGRVNYNlNLUkFQWExFNE1JIiwiYXVkIjoiXzJkMDM3NjI5NDE0N2I0ZTQyNGYzY2MyNmZkMzk4MzJkIiwiYWNyIjoicGFzc3dvcmQiLCJhdXRoX3RpbWUiOjE1NTY1NDMwMTEsImlzcyI6Imh0dHBzOlwvXC90ZXN0b3AuZnVuZXQuZmkiLCJleHAiOjE1NTY1NDc2MjUsImlhdCI6MTU1NjU0NDAyNSwibm9uY2UiOiJ5TU1vTXpwRHY4ZTRBZjlHIn0.jXI7G6rZIsL8MvrmRFb6Rv_VSErAHBf909cbGFR48soAjmfGUK2sBz9aopx17ApDOqI3frb7x1K3xZDpq4tD8el9fQ8xxjI0Lfz1cIaIiijKD_FP_FY_ZF_kGgN3CSMO06M-k5Rz0uJgGGo1Hu9A_rLEmqwEQ1TlL4QSy8po96pVIMCj_oAU4NqcAo4s_t0cCOKYODF06BGdVO_Rtv1QZh1jH0d5nhf8L9a21RV8VVlNZEl6C3Uwe0NAOl9OeqSjrpEVMVR1VJl8ULjNax8xtr6lHfh-u7ugvl6Sg5eGaRYhlI0czirT6uqjkjsGLTN2tLC3bVSjhBAcSOtiFj1Rng', 'state': 'SlOIftMWsGjQWsrI', 'token_type': 'Bearer', 'expires_in': 600}
5AuthorizationResponse
{
    "access_token": "AAdzZWNyZXQxnb55BCv3bfCb1Bf4ZDJIY1qUL1PaOuVvQYegoVJsQ1-qXWFSOGkmiqgLduYPTrxqKWo9qObcAURY4L9BF8hqPhAt0AEzqkV-c2a9wsAMctSD45ksNBMt1gIP9AMCuwcYAiOJI3Hr8h4p17DOsEzGO31_-htQEdvcM191d-O4J9JNNE4XviJj824OaUf_z8YZcRBr61J0RNZ76X75lWg_Pf-gppjRXepfwOREr4003qXjrA3Q2w1eaXzKN6NTAntfkF0AVBYidKOzr7jqD1Fa6bmNeRDddfdqetNbfFaH5MTUvtNODYiEDSE3TthB2a_DvbCkRGicx_gfE-Ln-7qAS8pBaVBheG9l5L8_jo225nl81r9xKyx2k51EqlddlZoNkFkuuAEXsj_9XY_chTaePX84cnVydqgyZm_YeN5M7AoKgcxjsWrS62KaPT1TZumlKPoqJyap87T9BPSq1Q7_E14kQJPoA5UkDTQofEEHv9uFCg",
    "expires_in": 600,
    "id_token": {
        "acr": "password",
        "at_hash": "cA8Z9pHk7AYegy4dfYG03Q",
        "aud": [
            "_2d0376294147b4e424f3cc26fd39832d"
        ],
        "auth_time": 1556543011,
        "exp": 1556547625,
        "iat": 1556544025,
        "iss": "https://testop.funet.fi",
        "nonce": "yMMoMzpDv8e4Af9G",
        "sub": "VUG4777YP3NMU5KRFESX6SKRAPXLE4MI"
    },
    "state": "SlOIftMWsGjQWsrI",
    "token_type": "Bearer"
}
5phase<--<-- 4 --- AccessToken -->-->
5phase<--<-- 5 --- Done -->-->
5end
5assertionVerifyResponse
5conditionverify-response: status=OK [Checks that the last response was one of a possible set of OpenID Connect Responses]
5assertionVerifySignedIdTokenHasKID
5conditionverify-signed-idtoken-has-kid: status=OK [Verifies that the header of a signed IDToken includes a kid claim.]
5conditionDone: status=OK

Result

PASSED