Test Info

Issuerhttps://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default
Profile[]
Test IDOP-OAuth-2nd-30s
Test descriptionTrying to use authorization code twice with 30 seconds in between uses must result in an error
Timestamp2019-09-11T08:23:14Z

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 --- Note -->-->
2phase<--<-- 1 --- Webfinger -->-->
2not expected to doWebFinger
2phase<--<-- 2 --- Discovery -->-->
2provider_config
kwargs:{'issuer': 'https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default'}
2http response
url:https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/.well-known/openid-configuration status_code:200
2ProviderConfigurationResponse
{
    "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"
}
2phase<--<-- 3 --- Registration -->-->
2not expected to doDynamic registration
2phase<--<-- 4 --- AsyncAuthn -->-->
2AuthorizationRequest
{
    "client_id": "5525f670-e6b3-41a9-afec-add4254aff3b",
    "nonce": "DLqkZoWrNqXyihhk",
    "redirect_uri": "https://op.certification.openid.net:61906/authz_cb",
    "response_type": "code",
    "scope": "openid",
    "state": "rGeNVBnWtGRkIOpm"
}
2redirect urlhttps://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/authorize?state=rGeNVBnWtGRkIOpm&nonce=DLqkZoWrNqXyihhk&response_type=code&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61906%2Fauthz_cb&client_id=5525f670-e6b3-41a9-afec-add4254aff3b
2redirecthttps://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/authorize?state=rGeNVBnWtGRkIOpm&nonce=DLqkZoWrNqXyihhk&response_type=code&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61906%2Fauthz_cb&client_id=5525f670-e6b3-41a9-afec-add4254aff3b
3responseResponse URL with query part
3response{'code': 'DlKRaWWmTOl3f27p6U7WgGjMeJN8Np', 'grant_id': '2ef50f02-249c-4d74-a067-0e2be38d87f7', 'state': 'rGeNVBnWtGRkIOpm'}
3response{'code': 'DlKRaWWmTOl3f27p6U7WgGjMeJN8Np', 'grant_id': '2ef50f02-249c-4d74-a067-0e2be38d87f7', 'state': 'rGeNVBnWtGRkIOpm'}
3AuthorizationResponse
{
    "code": "DlKRaWWmTOl3f27p6U7WgGjMeJN8Np",
    "grant_id": "2ef50f02-249c-4d74-a067-0e2be38d87f7",
    "state": "rGeNVBnWtGRkIOpm"
}
3phase<--<-- 5 --- AccessToken -->-->
3requestop_args: {'state': 'rGeNVBnWtGRkIOpm'}, req_args: {'redirect_uri': 'https://op.certification.openid.net:61906/authz_cb'}
3do_access_token_request
kwargs:{'request_args': {'redirect_uri': 'https://op.certification.openid.net:61906/authz_cb', 'code': 'DlKRaWWmTOl3f27p6U7WgGjMeJN8Np', 'state': 'rGeNVBnWtGRkIOpm', 'grant_type': 'authorization_code', 'client_id': '5525f670-e6b3-41a9-afec-add4254aff3b'}, 'state': 'rGeNVBnWtGRkIOpm', 'authn_method': 'client_secret_basic'}
3AccessTokenRequest
{
    "code": "DlKRaWWmTOl3f27p6U7WgGjMeJN8Np",
    "grant_type": "authorization_code",
    "redirect_uri": "https://op.certification.openid.net:61906/authz_cb",
    "state": "rGeNVBnWtGRkIOpm"
}
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%3A61906%2Fauthz_cb&code=DlKRaWWmTOl3f27p6U7WgGjMeJN8Np&state=rGeNVBnWtGRkIOpm
3http response
url:https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/token status_code:200
3response{'access_token': 'WjIeiCsNruuXlHCLlbgYtdZyRfXRRBTp3hFJ0thN', 'scope': 'openid', 'grant_id': '2ef50f02-249c-4d74-a067-0e2be38d87f7', 'id_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InNlcnZlciJ9.eyJnaXZlbl9uYW1lIjoiSmFjb2IiLCJzX2hhc2giOiJXTE90bmJsYVVwLW5DNlZlY3liLXd3IiwidW5pcXVlU2VjdXJpdHlOYW1lIjoiNjQwMDA0S0ZPTyIsInRlbmFudElkIjoib2lkYy1wcm9kLWV1MDFhLXRlc3QxLmljZS5pYm1jbG91ZC5jb20iLCJtb2JpbGVfbnVtYmVyIjoiKzY1OTEwODUwOTEiLCJyZWFsbU5hbWUiOiJjbG91ZElkZW50aXR5UmVhbG0iLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJqYWNvYiIsIm5hbWUiOiJKYWNvYiBUZXN0ZXIiLCJub25jZSI6IkRMcWtab1dyTnFYeWloaGsiLCJlbWFpbCI6InZzdzE5ODhAaG90bWFpbC5jb20iLCJhY3IiOiJ1cm46aWJtOnNlY3VyaXR5OnBvbGljeTppZDoxIiwidXNlclR5cGUiOiJyZWd1bGFyIiwiZGlzcGxheU5hbWUiOiJKYWNvYiBUZXN0ZXIiLCJmYW1pbHlfbmFtZSI6IlRlc3RlciIsImdyb3VwSWRzIjpbImFsbFVzZXJzIl0sImF0X2hhc2giOiJwMUYtME9yY0RRUzNzRXdUY25sbjZBIiwicGhvbmUyIjoiKzY1OTEwODUwOTEiLCJ1aWQiOiI2NDAwMDRLRk9PIiwiZXh0Ijp7InRlbmFudElkIjoib2lkYy1wcm9kLWV1MDFhLXRlc3QxLmljZS5pYm1jbG91ZC5jb20ifSwiaXNzIjoiaHR0cHM6Ly9vaWRjLXByb2QtZXUwMWEtdGVzdDEuaWNlLmlibWNsb3VkLmNvbS9vaWRjL2VuZHBvaW50L2RlZmF1bHQiLCJhdWQiOiI1NTI1ZjY3MC1lNmIzLTQxYTktYWZlYy1hZGQ0MjU0YWZmM2IiLCJzdWIiOiI2NDAwMDRLRk9PIiwiaWF0IjoxNTY4MTkwMTYzLCJleHAiOjE1NjgxOTczNjN9.YmMsnOMA1lSP32BXMBe7WSLPTqT2vnxJuhR-4mZR2LLZa0PCvEJu3SI9S4NoqwxB9WI4etYQZ-KLJCJ90pvXWloZQE4s-UG3gA73JdhTnfrss-G28ehg00nUDs4Bx4yOxjncx_Gubj3violxCujmn44Us7lOTT2A7LR_PHQpC7lzSNNEOGFG5hlmtkXOWFT_kjx06f2VOsSc8KmwE7bfhTu9a_DGvp_YTJ-bniP6L0KahUEdebcGNMKJUnS9Bm1AjsS9nJVw2WZtyXVlFKMssA_mBXawNGgdLFWSkXXZCzGQFquxRRBTgwCMYgNMSI_FRQyZR7jwyvpnH6ILOCb5Uw', 'token_type': 'Bearer', 'expires_in': 7199}
3AccessTokenResponse
{
    "access_token": "WjIeiCsNruuXlHCLlbgYtdZyRfXRRBTp3hFJ0thN",
    "expires_in": 7199,
    "grant_id": "2ef50f02-249c-4d74-a067-0e2be38d87f7",
    "id_token": {
        "acr": "urn:ibm:security:policy:id:1",
        "at_hash": "p1F-0OrcDQS3sEwTcnln6A",
        "aud": [
            "5525f670-e6b3-41a9-afec-add4254aff3b"
        ],
        "displayName": "Jacob Tester",
        "email": "vsw1988@hotmail.com",
        "exp": 1568197363,
        "ext": {
            "tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com"
        },
        "family_name": "Tester",
        "given_name": "Jacob",
        "groupIds": [
            "allUsers"
        ],
        "iat": 1568190163,
        "iss": "https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default",
        "mobile_number": "+6591085091",
        "name": "Jacob Tester",
        "nonce": "DLqkZoWrNqXyihhk",
        "phone2": "+6591085091",
        "preferred_username": "jacob",
        "realmName": "cloudIdentityRealm",
        "s_hash": "WLOtnblaUp-nC6Vecyb-ww",
        "sub": "640004KFOO",
        "tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com",
        "uid": "640004KFOO",
        "uniqueSecurityName": "640004KFOO",
        "userType": "regular"
    },
    "scope": "openid",
    "token_type": "Bearer"
}
3jws header{'alg': 'RS256', 'typ': 'JWT', 'kid': 'server'}
3phase<--<-- 6 --- TimeDelay -->-->
33phase<--<-- 7 --- AccessToken -->-->
33requestop_args: {'state': 'rGeNVBnWtGRkIOpm'}, req_args: {'redirect_uri': 'https://op.certification.openid.net:61906/authz_cb'}
33do_access_token_request
kwargs:{'request_args': {'redirect_uri': 'https://op.certification.openid.net:61906/authz_cb', 'code': 'DlKRaWWmTOl3f27p6U7WgGjMeJN8Np', 'state': 'rGeNVBnWtGRkIOpm', 'grant_type': 'authorization_code', 'client_id': '5525f670-e6b3-41a9-afec-add4254aff3b'}, 'state': 'rGeNVBnWtGRkIOpm', 'authn_method': 'client_secret_basic'}
33AccessTokenRequest
{
    "code": "DlKRaWWmTOl3f27p6U7WgGjMeJN8Np",
    "grant_type": "authorization_code",
    "redirect_uri": "https://op.certification.openid.net:61906/authz_cb",
    "state": "rGeNVBnWtGRkIOpm"
}
33request_urlhttps://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/token
33request_http_args{'headers': {'Authorization': 'Basic NTUyNWY2NzAtZTZiMy00MWE5LWFmZWMtYWRkNDI1NGFmZjNiOlRFOUwxY2wzdHc=', 'Content-Type': 'application/x-www-form-urlencoded'}}
33requestgrant_type=authorization_code&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61906%2Fauthz_cb&code=DlKRaWWmTOl3f27p6U7WgGjMeJN8Np&state=rGeNVBnWtGRkIOpm
34http 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"}
34response{'error_description': 'CSIAQ0158E The [authorization_grant] of type [authorization_code] does not exist or is invalid.', 'error': 'invalid_grant'}
34eventGot expected error
34TokenErrorResponse
{
    "error": "invalid_grant",
    "error_description": "CSIAQ0158E The [authorization_grant] of type [authorization_code] does not exist or is invalid."
}
34phase<--<-- 8 --- Done -->-->
34end
34assertionCheckHTTPErrorResponse
34conditioncheck-http-error-response: status=OK [Checks that an error code is either 400 or 401 which are the only ones accepted by OAuth2/OIDC.]
34assertionVerifyResponse
34conditionverify-response: status=OK [Checks that the last response was one of a possible set of OpenID Connect Responses]
34conditionDone: status=OK

Result

PASSED