Test Info

Issuerhttps://testop.funet.fi
Profile[]
Test IDOP-claims-Combined
Test descriptionSupports combining claims requested with scope and claims request parameter [Extra]
Timestamp2019-04-29T13:23:01Z

Conditions


verify-claims: status=OK [Verifies that the claims returned as UserInfo or in the ID Token is consistent with what was asked for]
check-http-response: status=OK [Checks that the HTTP response status is within the 200 or 300 range. Also does some extra JSON checks]
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": "_eb96a745b526cbf8d8ae940ae9b0ae16",
    "client_id_issued_at": 1556544176,
    "client_secret": "_b2b47b1d4d152ae3168303b67210b0da",
    "client_secret_expires_at": 1588080175,
    "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
{
    "claims": {
        "id_token": {
            "email": {
                "essential": true
            }
        }
    },
    "client_id": "_eb96a745b526cbf8d8ae940ae9b0ae16",
    "nonce": "3FSbK0zclN7grras",
    "redirect_uri": "https://op.certification.openid.net:60028/authz_cb",
    "response_type": "id_token token",
    "scope": "openid phone",
    "state": "AfnxeseoJQkkW80o"
}
2redirect urlhttps://testop.funet.fi/idp/profile/oidc/authorize?state=AfnxeseoJQkkW80o&nonce=3FSbK0zclN7grras&response_type=id_token+token&scope=openid+phone&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A60028%2Fauthz_cb&claims=%7B%22id_token%22%3A+%7B%22email%22%3A+%7B%22essential%22%3A+true%7D%7D%7D&client_id=_eb96a745b526cbf8d8ae940ae9b0ae16
2redirecthttps://testop.funet.fi/idp/profile/oidc/authorize?state=AfnxeseoJQkkW80o&nonce=3FSbK0zclN7grras&response_type=id_token+token&scope=openid+phone&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A60028%2Fauthz_cb&claims=%7B%22id_token%22%3A+%7B%22email%22%3A+%7B%22essential%22%3A+true%7D%7D%7D&client_id=_eb96a745b526cbf8d8ae940ae9b0ae16
5http args{}
5responseURL with fragment
5responseaccess_token=AAdzZWNyZXQxj7iZMKiW_yrnlWVLJxFmLhAbHgG5kzpvc0UHSeLCRH50pVkb73F6433WrXiq55IGkUvZYvKLg0TULeW3L0cbAo5L4HJ9-lGi33gi2mYM-DGPtBSLuobvD4B8gH1VlQ9ZDHQY63OGkPRtFR5vXjC_89PtSlxKGwUiyFff1XdDRkiB8IWbPJ-8vBzX6LOSY1iKdHtWsUBelVlfC-2HincbBNGTexYIUFZERS3QlRbHaGHJwT_ip5Pr9GSbocgNBW3dX-rXEZd75nG2_3WXZYSWgt5tSV_EaPBpy9iz525s70yZ8EZK6kF65NFm1J-yDP6j0rcqKX4cSkGDEt0Bn8tu7lmYuyAvE6Pb3iCKPXqIZ-yoE6cufxiXUhZkfcHZnXswJUVdfwk8EL3j14WJybhzl6fX_rLZk7Ofyx3RAnS06McdT6rxGQ30CEjruwYldbFgHMRrjn8aN4Zvb5oEEi-iq2K1IN2uov9owWggeS7dAlNSurq83w29ulGS1dzKq-g1uxJeubUKpgwvbmC87nOQA0zDGIsgszDDElhMUd5vWeH1diEzsv4rrw&id_token=eyJraWQiOiJ0ZXN0a2V5UlMiLCJhbGciOiJSUzI1NiJ9.eyJhdF9oYXNoIjoiNEI0djZFazRuY05WY2lLc2hOSmZsZyIsInN1YiI6IlZVRzQ3NzdZUDNOTVU1S1JGRVNYNlNLUkFQWExFNE1JIiwiYXVkIjoiX2ViOTZhNzQ1YjUyNmNiZjhkOGFlOTQwYWU5YjBhZTE2IiwiYWNyIjoicGFzc3dvcmQiLCJhdXRoX3RpbWUiOjE1NTY1NDMwMTEsImlzcyI6Imh0dHBzOlwvXC90ZXN0b3AuZnVuZXQuZmkiLCJleHAiOjE1NTY1NDc3NzksImlhdCI6MTU1NjU0NDE3OSwibm9uY2UiOiIzRlNiSzB6Y2xON2dycmFzIiwiZW1haWwiOiJ0ZXBwb0BleGFtcGxlLm9yZyJ9.nYrwkccxlwIi67qeCQKLmM_4SULRfHMDxv0ybUW-Kvi3XuBu_KZiye7DJuxGvaFnGKhtR7q3hAC58UNtTWQHeyM2DbbThWvFaiptV8Wu95vSy4OBD5dvdk4CwmMMxIV2um_UVtEpHwS7jFePoVs7J6NG1taC6O9gOd-szwGB7K2IAy_aFKF8pGOwUnHzCOdYuA_5o_JqQQvT3dNkPyozVmXWVtbHLNt6wADyFrGOuPnJjPDmirb5S3W5dC2mfp_eK9iB4_Ocxt4j1k87rWwwTNupNoyGc8e_4EcGb_SIb3dv_otSaRb1hx_7mLtxvK2sh2n7IpywEedT8d1smZWP3w&state=AfnxeseoJQkkW80o&token_type=Bearer&expires_in=600
5response{'access_token': 'AAdzZWNyZXQxj7iZMKiW_yrnlWVLJxFmLhAbHgG5kzpvc0UHSeLCRH50pVkb73F6433WrXiq55IGkUvZYvKLg0TULeW3L0cbAo5L4HJ9-lGi33gi2mYM-DGPtBSLuobvD4B8gH1VlQ9ZDHQY63OGkPRtFR5vXjC_89PtSlxKGwUiyFff1XdDRkiB8IWbPJ-8vBzX6LOSY1iKdHtWsUBelVlfC-2HincbBNGTexYIUFZERS3QlRbHaGHJwT_ip5Pr9GSbocgNBW3dX-rXEZd75nG2_3WXZYSWgt5tSV_EaPBpy9iz525s70yZ8EZK6kF65NFm1J-yDP6j0rcqKX4cSkGDEt0Bn8tu7lmYuyAvE6Pb3iCKPXqIZ-yoE6cufxiXUhZkfcHZnXswJUVdfwk8EL3j14WJybhzl6fX_rLZk7Ofyx3RAnS06McdT6rxGQ30CEjruwYldbFgHMRrjn8aN4Zvb5oEEi-iq2K1IN2uov9owWggeS7dAlNSurq83w29ulGS1dzKq-g1uxJeubUKpgwvbmC87nOQA0zDGIsgszDDElhMUd5vWeH1diEzsv4rrw', 'id_token': 'eyJraWQiOiJ0ZXN0a2V5UlMiLCJhbGciOiJSUzI1NiJ9.eyJhdF9oYXNoIjoiNEI0djZFazRuY05WY2lLc2hOSmZsZyIsInN1YiI6IlZVRzQ3NzdZUDNOTVU1S1JGRVNYNlNLUkFQWExFNE1JIiwiYXVkIjoiX2ViOTZhNzQ1YjUyNmNiZjhkOGFlOTQwYWU5YjBhZTE2IiwiYWNyIjoicGFzc3dvcmQiLCJhdXRoX3RpbWUiOjE1NTY1NDMwMTEsImlzcyI6Imh0dHBzOlwvXC90ZXN0b3AuZnVuZXQuZmkiLCJleHAiOjE1NTY1NDc3NzksImlhdCI6MTU1NjU0NDE3OSwibm9uY2UiOiIzRlNiSzB6Y2xON2dycmFzIiwiZW1haWwiOiJ0ZXBwb0BleGFtcGxlLm9yZyJ9.nYrwkccxlwIi67qeCQKLmM_4SULRfHMDxv0ybUW-Kvi3XuBu_KZiye7DJuxGvaFnGKhtR7q3hAC58UNtTWQHeyM2DbbThWvFaiptV8Wu95vSy4OBD5dvdk4CwmMMxIV2um_UVtEpHwS7jFePoVs7J6NG1taC6O9gOd-szwGB7K2IAy_aFKF8pGOwUnHzCOdYuA_5o_JqQQvT3dNkPyozVmXWVtbHLNt6wADyFrGOuPnJjPDmirb5S3W5dC2mfp_eK9iB4_Ocxt4j1k87rWwwTNupNoyGc8e_4EcGb_SIb3dv_otSaRb1hx_7mLtxvK2sh2n7IpywEedT8d1smZWP3w', 'state': 'AfnxeseoJQkkW80o', 'token_type': 'Bearer', 'expires_in': 600}
6AuthorizationResponse
{
    "access_token": "AAdzZWNyZXQxj7iZMKiW_yrnlWVLJxFmLhAbHgG5kzpvc0UHSeLCRH50pVkb73F6433WrXiq55IGkUvZYvKLg0TULeW3L0cbAo5L4HJ9-lGi33gi2mYM-DGPtBSLuobvD4B8gH1VlQ9ZDHQY63OGkPRtFR5vXjC_89PtSlxKGwUiyFff1XdDRkiB8IWbPJ-8vBzX6LOSY1iKdHtWsUBelVlfC-2HincbBNGTexYIUFZERS3QlRbHaGHJwT_ip5Pr9GSbocgNBW3dX-rXEZd75nG2_3WXZYSWgt5tSV_EaPBpy9iz525s70yZ8EZK6kF65NFm1J-yDP6j0rcqKX4cSkGDEt0Bn8tu7lmYuyAvE6Pb3iCKPXqIZ-yoE6cufxiXUhZkfcHZnXswJUVdfwk8EL3j14WJybhzl6fX_rLZk7Ofyx3RAnS06McdT6rxGQ30CEjruwYldbFgHMRrjn8aN4Zvb5oEEi-iq2K1IN2uov9owWggeS7dAlNSurq83w29ulGS1dzKq-g1uxJeubUKpgwvbmC87nOQA0zDGIsgszDDElhMUd5vWeH1diEzsv4rrw",
    "expires_in": 600,
    "id_token": {
        "acr": "password",
        "at_hash": "4B4v6Ek4ncNVciKshNJflg",
        "aud": [
            "_eb96a745b526cbf8d8ae940ae9b0ae16"
        ],
        "auth_time": 1556543011,
        "email": "teppo@example.org",
        "exp": 1556547779,
        "iat": 1556544179,
        "iss": "https://testop.funet.fi",
        "nonce": "3FSbK0zclN7grras",
        "sub": "VUG4777YP3NMU5KRFESX6SKRAPXLE4MI"
    },
    "state": "AfnxeseoJQkkW80o",
    "token_type": "Bearer"
}
6phase<--<-- 4 --- AccessToken -->-->
6phase<--<-- 5 --- UserInfo -->-->
6do_user_info_request
kwargs:{'state': 'AfnxeseoJQkkW80o', 'method': 'GET', 'authn_method': 'bearer_header'}
6request{'body': None}
6request_urlhttps://testop.funet.fi/idp/profile/oidc/userinfo
6request_http_args{'headers': {'Authorization': 'Bearer AAdzZWNyZXQxj7iZMKiW_yrnlWVLJxFmLhAbHgG5kzpvc0UHSeLCRH50pVkb73F6433WrXiq55IGkUvZYvKLg0TULeW3L0cbAo5L4HJ9-lGi33gi2mYM-DGPtBSLuobvD4B8gH1VlQ9ZDHQY63OGkPRtFR5vXjC_89PtSlxKGwUiyFff1XdDRkiB8IWbPJ-8vBzX6LOSY1iKdHtWsUBelVlfC-2HincbBNGTexYIUFZERS3QlRbHaGHJwT_ip5Pr9GSbocgNBW3dX-rXEZd75nG2_3WXZYSWgt5tSV_EaPBpy9iz525s70yZ8EZK6kF65NFm1J-yDP6j0rcqKX4cSkGDEt0Bn8tu7lmYuyAvE6Pb3iCKPXqIZ-yoE6cufxiXUhZkfcHZnXswJUVdfwk8EL3j14WJybhzl6fX_rLZk7Ofyx3RAnS06McdT6rxGQ30CEjruwYldbFgHMRrjn8aN4Zvb5oEEi-iq2K1IN2uov9owWggeS7dAlNSurq83w29ulGS1dzKq-g1uxJeubUKpgwvbmC87nOQA0zDGIsgszDDElhMUd5vWeH1diEzsv4rrw'}}
7http response
url:https://testop.funet.fi/idp/profile/oidc/userinfo status_code:200
7OpenIDSchema
{
    "phone_number": "+1 (604) 555-1234;ext=5678",
    "phone_number_verified": true,
    "sub": "VUG4777YP3NMU5KRFESX6SKRAPXLE4MI"
}
7OpenIDSchema
{
    "phone_number": "+1 (604) 555-1234;ext=5678",
    "phone_number_verified": true,
    "sub": "VUG4777YP3NMU5KRFESX6SKRAPXLE4MI"
}
7phase<--<-- 6 --- Done -->-->
7end
7assertionVerifyClaims
7conditionverify-claims: status=OK [Verifies that the claims returned as UserInfo or in the ID Token is consistent with what was asked for]
7assertionCheckHTTPResponse
7conditioncheck-http-response: status=OK [Checks that the HTTP response status is within the 200 or 300 range. Also does some extra JSON checks]
7conditionDone: status=OK

Result

PASSED