Test Info

Issuerhttps://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default
Profile[]
Test IDOP-OAuth-2nd
Test descriptionTrying to use authorization code twice should result in an error
Timestamp2019-09-11T08:50:53Z

Conditions


check-http-error-response: status=OK [Checks that an error code is either 400 or 401 which are the only ones accepted by OAuth2/OIDC.]
verify-response: status=OK [Checks that the last response was one of a possible set of OpenID Connect Responses]
Done: status=OK

Trace Output

0phase<--<-- 0 --- Webfinger -->-->
0not expected to doWebFinger
0phase<--<-- 1 --- Discovery -->-->
0provider_config
kwargs:{'issuer': 'https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default'}
0http response
url:https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/.well-known/openid-configuration status_code:200
0ProviderConfigurationResponse
{
    "authorization_endpoint": "https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/authorize",
    "claim_types_supported": [
        "normal"
    ],
    "claims_parameter_supported": true,
    "claims_supported": [
        "realmName",
        "preferred_username",
        "given_name",
        "uid",
        "upn",
        "groupIds",
        "employee_id",
        "name",
        "tenantId",
        "mobile_number",
        "department",
        "family_name",
        "job_title",
        "email"
    ],
    "device_authorization_endpoint": "https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/device_authorization",
    "grant_types_supported": [
        "authorization_code",
        "implicit",
        "client_credentials",
        "password",
        "refresh_token",
        "urn:ietf:params:oauth:grant-type:device_code"
    ],
    "id_token_encryption_alg_values_supported": [
        "none"
    ],
    "id_token_encryption_enc_values_supported": [
        "none"
    ],
    "id_token_signing_alg_values_supported": [
        "none",
        "HS256",
        "HS384",
        "HS512",
        "RS256",
        "RS384",
        "RS512"
    ],
    "introspection_endpoint": "https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/introspect",
    "issuer": "https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default",
    "jwks_uri": "https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/jwks",
    "request_object_encryption_alg_values_supported": [
        "none"
    ],
    "request_object_encryption_enc_values_supported": [
        "none"
    ],
    "request_object_signing_alg_values_supported": [
        "none"
    ],
    "request_parameter_supported": true,
    "request_uri_parameter_supported": false,
    "require_request_uri_registration": false,
    "response_modes_supported": [
        "query",
        "fragment",
        "form_post"
    ],
    "response_types_supported": [
        "code",
        "none",
        "token",
        "id_token",
        "token id_token",
        "code id_token",
        "code token",
        "code token id_token"
    ],
    "revocation_endpoint": "https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/revoke",
    "scopes_supported": [
        "openid",
        "profile",
        "email",
        "phone"
    ],
    "subject_types_supported": [
        "public"
    ],
    "token_endpoint": "https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/token",
    "token_endpoint_auth_methods_supported": [
        "client_secret_basic",
        "client_secret_post"
    ],
    "user_authorization_endpoint": "https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/user_authorization",
    "userinfo_encryption_alg_values_supported": [
        "none"
    ],
    "userinfo_encryption_enc_values_supported": [
        "none"
    ],
    "userinfo_endpoint": "https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/userinfo",
    "userinfo_signing_alg_values_supported": [
        "none"
    ],
    "version": "3.0"
}
0phase<--<-- 2 --- Registration -->-->
0not expected to doDynamic registration
0phase<--<-- 3 --- Note -->-->
2phase<--<-- 4 --- AsyncAuthn -->-->
2AuthorizationRequest
{
    "client_id": "5525f670-e6b3-41a9-afec-add4254aff3b",
    "nonce": "wQUysnR918Q6iLqy",
    "redirect_uri": "https://op.certification.openid.net:61914/authz_cb",
    "response_type": "code id_token",
    "scope": "openid",
    "state": "TPC46DtFud4qf9cb"
}
2redirect urlhttps://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/authorize?state=TPC46DtFud4qf9cb&nonce=wQUysnR918Q6iLqy&response_type=code+id_token&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61914%2Fauthz_cb&client_id=5525f670-e6b3-41a9-afec-add4254aff3b
2redirecthttps://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/authorize?state=TPC46DtFud4qf9cb&nonce=wQUysnR918Q6iLqy&response_type=code+id_token&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61914%2Fauthz_cb&client_id=5525f670-e6b3-41a9-afec-add4254aff3b
3http args{}
3responseURL with fragment
3responsecode=xX3uy8h4ejvlsxaBcfJwKjU4vQufA6&grant_id=6f7cc3b8-85ba-46a1-94c3-84487ab6b5bb&id_token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InNlcnZlciJ9.eyJnaXZlbl9uYW1lIjoiR2VldGhhIiwic19oYXNoIjoiSi15YkN2WVpYV0xXZFV0WTRianVMQSIsInVuaXF1ZVNlY3VyaXR5TmFtZSI6IjY0MDAwNEtHNFAiLCJ0ZW5hbnRJZCI6Im9pZGMtcHJvZC1ldTAxYS10ZXN0MS5pY2UuaWJtY2xvdWQuY29tIiwicmVhbG1OYW1lIjoiY2xvdWRJZGVudGl0eVJlYWxtIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VldGhhbmphbGkuZEBpYm0uY29tIiwibmFtZSI6IkdlZXRoYSBEIiwibm9uY2UiOiJ3UVV5c25SOTE4UTZpTHF5IiwiZW1haWwiOiJnZWV0aGFuamFsaS5kQGlibS5jb20iLCJhY3IiOiJ1cm46aWJtOnNlY3VyaXR5OnBvbGljeTppZDoxIiwidXNlclR5cGUiOiJyZWd1bGFyIiwiZGlzcGxheU5hbWUiOiJHZWV0aGEgRCIsImZhbWlseV9uYW1lIjoiRCIsImNfaGFzaCI6IktqYy1reVN0MmEyeHBvWHhJYUpUU1EiLCJncm91cElkcyI6WyJhbGxVc2VycyIsImFkbWluIl0sInVpZCI6IjY0MDAwNEtHNFAiLCJleHQiOnsidGVuYW50SWQiOiJvaWRjLXByb2QtZXUwMWEtdGVzdDEuaWNlLmlibWNsb3VkLmNvbSJ9LCJpc3MiOiJodHRwczovL29pZGMtcHJvZC1ldTAxYS10ZXN0MS5pY2UuaWJtY2xvdWQuY29tL29pZGMvZW5kcG9pbnQvZGVmYXVsdCIsImF1ZCI6IjU1MjVmNjcwLWU2YjMtNDFhOS1hZmVjLWFkZDQyNTRhZmYzYiIsInN1YiI6IjY0MDAwNEtHNFAiLCJpYXQiOjE1NjgxOTE4NTEsImV4cCI6MTU2ODE5OTA1MX0.DMsufRrv_B2jEEQlasDRuTsIKscvKBkL9DIxYFdS6dxEn_sl2xwOcfvg4qCSHvUqJyRUPQ5E7cuQDclO5TBbO_hHYCUsXzSDObPLrcrQfAtp8NYTHg7dBdXWiBt2yUk-g7WQwPQxQ-ZiF0chEycBN3VPRTc4X5TBtSf8pVF-4KprybQ95Z5eYqU5fW6D6NzglQQIuIZzkKI65vzPwuWg_iklKuGqj0O36HzzMyO-A3QJjtO3s0IWV_P-b5prMM38eeDBxj-XeILpCpU8q108ONI9f9oDjhFHUlTknrxMe_6V1xr6Kj8BayoFESXNYy_KxT1_-Eig-dlgiPK2hBWj_A&state=TPC46DtFud4qf9cb
3response{'code': 'xX3uy8h4ejvlsxaBcfJwKjU4vQufA6', 'grant_id': '6f7cc3b8-85ba-46a1-94c3-84487ab6b5bb', 'id_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InNlcnZlciJ9.eyJnaXZlbl9uYW1lIjoiR2VldGhhIiwic19oYXNoIjoiSi15YkN2WVpYV0xXZFV0WTRianVMQSIsInVuaXF1ZVNlY3VyaXR5TmFtZSI6IjY0MDAwNEtHNFAiLCJ0ZW5hbnRJZCI6Im9pZGMtcHJvZC1ldTAxYS10ZXN0MS5pY2UuaWJtY2xvdWQuY29tIiwicmVhbG1OYW1lIjoiY2xvdWRJZGVudGl0eVJlYWxtIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VldGhhbmphbGkuZEBpYm0uY29tIiwibmFtZSI6IkdlZXRoYSBEIiwibm9uY2UiOiJ3UVV5c25SOTE4UTZpTHF5IiwiZW1haWwiOiJnZWV0aGFuamFsaS5kQGlibS5jb20iLCJhY3IiOiJ1cm46aWJtOnNlY3VyaXR5OnBvbGljeTppZDoxIiwidXNlclR5cGUiOiJyZWd1bGFyIiwiZGlzcGxheU5hbWUiOiJHZWV0aGEgRCIsImZhbWlseV9uYW1lIjoiRCIsImNfaGFzaCI6IktqYy1reVN0MmEyeHBvWHhJYUpUU1EiLCJncm91cElkcyI6WyJhbGxVc2VycyIsImFkbWluIl0sInVpZCI6IjY0MDAwNEtHNFAiLCJleHQiOnsidGVuYW50SWQiOiJvaWRjLXByb2QtZXUwMWEtdGVzdDEuaWNlLmlibWNsb3VkLmNvbSJ9LCJpc3MiOiJodHRwczovL29pZGMtcHJvZC1ldTAxYS10ZXN0MS5pY2UuaWJtY2xvdWQuY29tL29pZGMvZW5kcG9pbnQvZGVmYXVsdCIsImF1ZCI6IjU1MjVmNjcwLWU2YjMtNDFhOS1hZmVjLWFkZDQyNTRhZmYzYiIsInN1YiI6IjY0MDAwNEtHNFAiLCJpYXQiOjE1NjgxOTE4NTEsImV4cCI6MTU2ODE5OTA1MX0.DMsufRrv_B2jEEQlasDRuTsIKscvKBkL9DIxYFdS6dxEn_sl2xwOcfvg4qCSHvUqJyRUPQ5E7cuQDclO5TBbO_hHYCUsXzSDObPLrcrQfAtp8NYTHg7dBdXWiBt2yUk-g7WQwPQxQ-ZiF0chEycBN3VPRTc4X5TBtSf8pVF-4KprybQ95Z5eYqU5fW6D6NzglQQIuIZzkKI65vzPwuWg_iklKuGqj0O36HzzMyO-A3QJjtO3s0IWV_P-b5prMM38eeDBxj-XeILpCpU8q108ONI9f9oDjhFHUlTknrxMe_6V1xr6Kj8BayoFESXNYy_KxT1_-Eig-dlgiPK2hBWj_A', 'state': 'TPC46DtFud4qf9cb'}
3AuthorizationResponse
{
    "code": "xX3uy8h4ejvlsxaBcfJwKjU4vQufA6",
    "grant_id": "6f7cc3b8-85ba-46a1-94c3-84487ab6b5bb",
    "id_token": {
        "acr": "urn:ibm:security:policy:id:1",
        "aud": [
            "5525f670-e6b3-41a9-afec-add4254aff3b"
        ],
        "c_hash": "Kjc-kySt2a2xpoXxIaJTSQ",
        "displayName": "Geetha D",
        "email": "geethanjali.d@ibm.com",
        "exp": 1568199051,
        "ext": {
            "tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com"
        },
        "family_name": "D",
        "given_name": "Geetha",
        "groupIds": [
            "allUsers",
            "admin"
        ],
        "iat": 1568191851,
        "iss": "https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default",
        "name": "Geetha D",
        "nonce": "wQUysnR918Q6iLqy",
        "preferred_username": "geethanjali.d@ibm.com",
        "realmName": "cloudIdentityRealm",
        "s_hash": "J-ybCvYZXWLWdUtY4bjuLA",
        "sub": "640004KG4P",
        "tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com",
        "uid": "640004KG4P",
        "uniqueSecurityName": "640004KG4P",
        "userType": "regular"
    },
    "state": "TPC46DtFud4qf9cb"
}
3phase<--<-- 5 --- AccessToken -->-->
3requestop_args: {'state': 'TPC46DtFud4qf9cb'}, req_args: {'redirect_uri': 'https://op.certification.openid.net:61914/authz_cb'}
3do_access_token_request
kwargs:{'request_args': {'redirect_uri': 'https://op.certification.openid.net:61914/authz_cb', 'code': 'xX3uy8h4ejvlsxaBcfJwKjU4vQufA6', 'state': 'TPC46DtFud4qf9cb', 'grant_type': 'authorization_code', 'client_id': '5525f670-e6b3-41a9-afec-add4254aff3b'}, 'state': 'TPC46DtFud4qf9cb', 'authn_method': 'client_secret_basic'}
3AccessTokenRequest
{
    "code": "xX3uy8h4ejvlsxaBcfJwKjU4vQufA6",
    "grant_type": "authorization_code",
    "redirect_uri": "https://op.certification.openid.net:61914/authz_cb",
    "state": "TPC46DtFud4qf9cb"
}
3request_urlhttps://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/token
3request_http_args{'headers': {'Authorization': 'Basic NTUyNWY2NzAtZTZiMy00MWE5LWFmZWMtYWRkNDI1NGFmZjNiOlRFOUwxY2wzdHc=', 'Content-Type': 'application/x-www-form-urlencoded'}}
3requestgrant_type=authorization_code&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61914%2Fauthz_cb&code=xX3uy8h4ejvlsxaBcfJwKjU4vQufA6&state=TPC46DtFud4qf9cb
4http response
url:https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/token status_code:200
4response{'access_token': '8PLyxVImM23XmjvwP61Jl5ITRQQifyjkuixTkegC', 'scope': 'openid', 'grant_id': '6f7cc3b8-85ba-46a1-94c3-84487ab6b5bb', 'id_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InNlcnZlciJ9.eyJnaXZlbl9uYW1lIjoiR2VldGhhIiwic19oYXNoIjoiSi15YkN2WVpYV0xXZFV0WTRianVMQSIsInVuaXF1ZVNlY3VyaXR5TmFtZSI6IjY0MDAwNEtHNFAiLCJ0ZW5hbnRJZCI6Im9pZGMtcHJvZC1ldTAxYS10ZXN0MS5pY2UuaWJtY2xvdWQuY29tIiwicmVhbG1OYW1lIjoiY2xvdWRJZGVudGl0eVJlYWxtIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VldGhhbmphbGkuZEBpYm0uY29tIiwibmFtZSI6IkdlZXRoYSBEIiwibm9uY2UiOiJ3UVV5c25SOTE4UTZpTHF5IiwiZW1haWwiOiJnZWV0aGFuamFsaS5kQGlibS5jb20iLCJhY3IiOiJ1cm46aWJtOnNlY3VyaXR5OnBvbGljeTppZDoxIiwidXNlclR5cGUiOiJyZWd1bGFyIiwiZGlzcGxheU5hbWUiOiJHZWV0aGEgRCIsImZhbWlseV9uYW1lIjoiRCIsImdyb3VwSWRzIjpbImFsbFVzZXJzIiwiYWRtaW4iXSwiYXRfaGFzaCI6InRiamIzRHJaN1N3UWx5ZWRRdzlwbWciLCJ1aWQiOiI2NDAwMDRLRzRQIiwiZXh0Ijp7InRlbmFudElkIjoib2lkYy1wcm9kLWV1MDFhLXRlc3QxLmljZS5pYm1jbG91ZC5jb20ifSwiaXNzIjoiaHR0cHM6Ly9vaWRjLXByb2QtZXUwMWEtdGVzdDEuaWNlLmlibWNsb3VkLmNvbS9vaWRjL2VuZHBvaW50L2RlZmF1bHQiLCJhdWQiOiI1NTI1ZjY3MC1lNmIzLTQxYTktYWZlYy1hZGQ0MjU0YWZmM2IiLCJzdWIiOiI2NDAwMDRLRzRQIiwiaWF0IjoxNTY4MTkxODUzLCJleHAiOjE1NjgxOTkwNTN9.kqiSju65t_CnEoOkLfsyJbSGr57k0E5RWnDEfs9ECDB0onOjjoME60bYwIVfEANm2JgmSuPKa5JYc3LqE33YLrEfXJzTg2qRSPJ2pLVAwGDJdt7R53io7QDZrJFGzX3ZYyxIUp55bAFts3-JkKsZqGmKb8nprawGpQsubHzcz_u283EV4cDyIjDBErUsHDjdxq-zZJQ6wdwVHGscn-rLgfVSFktdt6b8_2vMIolaoJ_EL9zc2uYxzVp--GvG5ANd__29Wijvdf5cNNotQuyHyIT2zbrObUg5_CvvAdBvnZl2ySJp3XmTec_PnaNj-RzqIgsLkWWrs8Su1I02DoaZ2w', 'token_type': 'Bearer', 'expires_in': 7199}
4AccessTokenResponse
{
    "access_token": "8PLyxVImM23XmjvwP61Jl5ITRQQifyjkuixTkegC",
    "expires_in": 7199,
    "grant_id": "6f7cc3b8-85ba-46a1-94c3-84487ab6b5bb",
    "id_token": {
        "acr": "urn:ibm:security:policy:id:1",
        "at_hash": "tbjb3DrZ7SwQlyedQw9pmg",
        "aud": [
            "5525f670-e6b3-41a9-afec-add4254aff3b"
        ],
        "displayName": "Geetha D",
        "email": "geethanjali.d@ibm.com",
        "exp": 1568199053,
        "ext": {
            "tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com"
        },
        "family_name": "D",
        "given_name": "Geetha",
        "groupIds": [
            "allUsers",
            "admin"
        ],
        "iat": 1568191853,
        "iss": "https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default",
        "name": "Geetha D",
        "nonce": "wQUysnR918Q6iLqy",
        "preferred_username": "geethanjali.d@ibm.com",
        "realmName": "cloudIdentityRealm",
        "s_hash": "J-ybCvYZXWLWdUtY4bjuLA",
        "sub": "640004KG4P",
        "tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com",
        "uid": "640004KG4P",
        "uniqueSecurityName": "640004KG4P",
        "userType": "regular"
    },
    "scope": "openid",
    "token_type": "Bearer"
}
4jws header{'alg': 'RS256', 'typ': 'JWT', 'kid': 'server'}
4phase<--<-- 6 --- AccessToken -->-->
4requestop_args: {'state': 'TPC46DtFud4qf9cb'}, req_args: {'redirect_uri': 'https://op.certification.openid.net:61914/authz_cb'}
4do_access_token_request
kwargs:{'request_args': {'redirect_uri': 'https://op.certification.openid.net:61914/authz_cb', 'code': 'xX3uy8h4ejvlsxaBcfJwKjU4vQufA6', 'state': 'TPC46DtFud4qf9cb', 'grant_type': 'authorization_code', 'client_id': '5525f670-e6b3-41a9-afec-add4254aff3b'}, 'state': 'TPC46DtFud4qf9cb', 'authn_method': 'client_secret_basic'}
4AccessTokenRequest
{
    "code": "xX3uy8h4ejvlsxaBcfJwKjU4vQufA6",
    "grant_type": "authorization_code",
    "redirect_uri": "https://op.certification.openid.net:61914/authz_cb",
    "state": "TPC46DtFud4qf9cb"
}
4request_urlhttps://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/token
4request_http_args{'headers': {'Authorization': 'Basic NTUyNWY2NzAtZTZiMy00MWE5LWFmZWMtYWRkNDI1NGFmZjNiOlRFOUwxY2wzdHc=', 'Content-Type': 'application/x-www-form-urlencoded'}}
4requestgrant_type=authorization_code&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61914%2Fauthz_cb&code=xX3uy8h4ejvlsxaBcfJwKjU4vQufA6&state=TPC46DtFud4qf9cb
4http response
url:https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/token status_code:400 message:{"error_description":"CSIAQ0158E The [authorization_grant] of type [authorization_code] does not exist or is invalid.","error":"invalid_grant"}
4response{'error_description': 'CSIAQ0158E The [authorization_grant] of type [authorization_code] does not exist or is invalid.', 'error': 'invalid_grant'}
4eventGot expected error
4TokenErrorResponse
{
    "error": "invalid_grant",
    "error_description": "CSIAQ0158E The [authorization_grant] of type [authorization_code] does not exist or is invalid."
}
4phase<--<-- 7 --- Done -->-->
4end
4assertionCheckHTTPErrorResponse
4conditioncheck-http-error-response: status=OK [Checks that an error code is either 400 or 401 which are the only ones accepted by OAuth2/OIDC.]
4assertionVerifyResponse
4conditionverify-response: status=OK [Checks that the last response was one of a possible set of OpenID Connect Responses]
4conditionDone: status=OK

Result

PASSED