Test Info

Issuerhttps://cloud-api.loginradius.com/sso/oidc/v2/internal-mayank/oidctest
Profile[]
Test IDOP-OAuth-2nd-Revokes
Test descriptionTrying to use authorization code twice should result in revoking previously issued access tokens
Timestamp2020-07-09T09:36:52Z

Conditions


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://cloud-api.loginradius.com/sso/oidc/v2/internal-mayank/oidctest'}
0http response
url:https://cloud-api.loginradius.com/sso/oidc/v2/internal-mayank/oidctest/.well-known/openid-configuration status_code:200
0ProviderConfigurationResponse
{
    "acr_values_supported": [
        "loginradius:nist:level:1:re-auth"
    ],
    "authorization_endpoint": "https://cloud-api.loginradius.com/sso/oidc/v2/oidctest/authorize",
    "backchannel_logout_session_supported": false,
    "backchannel_logout_supported": false,
    "claims_parameter_supported": false,
    "claims_supported": [
        "picture",
        "zoneinfo",
        "Country",
        "given_name",
        "nickname",
        "preferred_username",
        "family_name",
        "UserName",
        "middle_name",
        "phone_number_verified",
        "name",
        "LastName",
        "auth_time",
        "Uid",
        "Favicon",
        "website",
        "gender",
        "locale",
        "CustomFields.customerid",
        "birthdate",
        "acr",
        "FirstName",
        "email_verified",
        "phone_number",
        "profile",
        "email",
        "address",
        "updated_at"
    ],
    "frontchannel_logout_session_supported": false,
    "frontchannel_logout_supported": false,
    "grant_types_supported": [
        "authorization_code",
        "refresh_token"
    ],
    "id_token_signing_alg_values_supported": [
        "RS256"
    ],
    "issuer": "https://cloud-api.loginradius.com/sso/oidc/v2/internal-mayank/oidctest",
    "jwks_uri": "https://cloud-api.loginradius.com/sso/oidc/v2/internal-mayank/oidctest/jwks",
    "request_parameter_supported": false,
    "request_uri_parameter_supported": true,
    "require_request_uri_registration": false,
    "response_modes_supported": [
        "query",
        "form_post",
        "fragment"
    ],
    "response_types_supported": [
        "code",
        "token",
        "id_token",
        "code token",
        "code id_token",
        "token id_token",
        "code token id_token"
    ],
    "revocation_endpoint": "https://cloud-api.loginradius.com/sso/oidc/v2/oidctest/revoke",
    "scopes_supported": [
        "openid",
        "email",
        "phone",
        "profile",
        "address"
    ],
    "subject_types_supported": [
        "public"
    ],
    "token_endpoint": "https://cloud-api.loginradius.com/sso/oidc/v2/oidctest/token",
    "token_endpoint_auth_methods_supported": [
        "client_secret_post",
        "client_secret_basic"
    ],
    "userinfo_endpoint": "https://cloud-api.loginradius.com/sso/oidc/v2/internal-mayank/oidctest/userinfo",
    "version": "3.0"
}
0phase<--<-- 2 --- Registration -->-->
0not expected to doDynamic registration
0phase<--<-- 3 --- Note -->-->
2phase<--<-- 4 --- AsyncAuthn -->-->
2AuthorizationRequest
{
    "client_id": "112563f6-1480-40b8-8e28-e072ca212c82",
    "nonce": "6qpV9ysJaOBVoxfv",
    "redirect_uri": "https://op.certification.openid.net:62346/authz_cb",
    "response_type": "code token",
    "scope": "openid",
    "state": "Xmo9AefyPYXx4EKN"
}
2redirect urlhttps://cloud-api.loginradius.com/sso/oidc/v2/oidctest/authorize?state=Xmo9AefyPYXx4EKN&nonce=6qpV9ysJaOBVoxfv&response_type=code+token&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A62346%2Fauthz_cb&client_id=112563f6-1480-40b8-8e28-e072ca212c82
2redirecthttps://cloud-api.loginradius.com/sso/oidc/v2/oidctest/authorize?state=Xmo9AefyPYXx4EKN&nonce=6qpV9ysJaOBVoxfv&response_type=code+token&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A62346%2Fauthz_cb&client_id=112563f6-1480-40b8-8e28-e072ca212c82
14http args{}
14responseURL with fragment
14responsestate=Xmo9AefyPYXx4EKN&code=9480950910420f656acc4b48b03c3426%3Ab5c9befa0194e8695f90e93469381b940a065b29c8454c2eb70b185a8112d9b6a11b6de732557fc92ae6e86d81fa23fa5aaf866d7a16f6574601c70ce8655430e57be5a27b609d9907880c2ddcb5017e1bc58f06d8336b57162a8e445dfb354a60e7caaeccb29ef12ffe07c90dfe7303&access_token=ca4e142b-f0a7-447e-9776-87b211e00f9e&token_type=Bearer&expires_in=895
14response{'state': 'Xmo9AefyPYXx4EKN', 'code': '9480950910420f656acc4b48b03c3426:b5c9befa0194e8695f90e93469381b940a065b29c8454c2eb70b185a8112d9b6a11b6de732557fc92ae6e86d81fa23fa5aaf866d7a16f6574601c70ce8655430e57be5a27b609d9907880c2ddcb5017e1bc58f06d8336b57162a8e445dfb354a60e7caaeccb29ef12ffe07c90dfe7303', 'access_token': 'ca4e142b-f0a7-447e-9776-87b211e00f9e', 'token_type': 'Bearer', 'expires_in': 895}
14AuthorizationResponse
{
    "access_token": "ca4e142b-f0a7-447e-9776-87b211e00f9e",
    "code": "9480950910420f656acc4b48b03c3426:b5c9befa0194e8695f90e93469381b940a065b29c8454c2eb70b185a8112d9b6a11b6de732557fc92ae6e86d81fa23fa5aaf866d7a16f6574601c70ce8655430e57be5a27b609d9907880c2ddcb5017e1bc58f06d8336b57162a8e445dfb354a60e7caaeccb29ef12ffe07c90dfe7303",
    "expires_in": 895,
    "state": "Xmo9AefyPYXx4EKN",
    "token_type": "Bearer"
}
14phase<--<-- 5 --- AccessToken -->-->
14requestop_args: {'state': 'Xmo9AefyPYXx4EKN'}, req_args: {'redirect_uri': 'https://op.certification.openid.net:62346/authz_cb'}
14do_access_token_request
kwargs:{'request_args': {'redirect_uri': 'https://op.certification.openid.net:62346/authz_cb', 'code': '9480950910420f656acc4b48b03c3426:b5c9befa0194e8695f90e93469381b940a065b29c8454c2eb70b185a8112d9b6a11b6de732557fc92ae6e86d81fa23fa5aaf866d7a16f6574601c70ce8655430e57be5a27b609d9907880c2ddcb5017e1bc58f06d8336b57162a8e445dfb354a60e7caaeccb29ef12ffe07c90dfe7303', 'state': 'Xmo9AefyPYXx4EKN', 'grant_type': 'authorization_code', 'client_id': '112563f6-1480-40b8-8e28-e072ca212c82'}, 'state': 'Xmo9AefyPYXx4EKN', 'authn_method': 'client_secret_basic'}
14AccessTokenRequest
{
    "code": "9480950910420f656acc4b48b03c3426:b5c9befa0194e8695f90e93469381b940a065b29c8454c2eb70b185a8112d9b6a11b6de732557fc92ae6e86d81fa23fa5aaf866d7a16f6574601c70ce8655430e57be5a27b609d9907880c2ddcb5017e1bc58f06d8336b57162a8e445dfb354a60e7caaeccb29ef12ffe07c90dfe7303",
    "grant_type": "authorization_code",
    "redirect_uri": "https://op.certification.openid.net:62346/authz_cb",
    "state": "Xmo9AefyPYXx4EKN"
}
14request_urlhttps://cloud-api.loginradius.com/sso/oidc/v2/oidctest/token
14request_http_args{'headers': {'Authorization': 'Basic MTEyNTYzZjYtMTQ4MC00MGI4LThlMjgtZTA3MmNhMjEyYzgyOjc4ZDNkYmUzLTEwZDEtNDk3Yi05MzU3LThlZWQ0NTkzMzYzZA==', 'Content-Type': 'application/x-www-form-urlencoded'}}
14requestgrant_type=authorization_code&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A62346%2Fauthz_cb&code=9480950910420f656acc4b48b03c3426%3Ab5c9befa0194e8695f90e93469381b940a065b29c8454c2eb70b185a8112d9b6a11b6de732557fc92ae6e86d81fa23fa5aaf866d7a16f6574601c70ce8655430e57be5a27b609d9907880c2ddcb5017e1bc58f06d8336b57162a8e445dfb354a60e7caaeccb29ef12ffe07c90dfe7303&state=Xmo9AefyPYXx4EKN
14http response
url:https://cloud-api.loginradius.com/sso/oidc/v2/oidctest/token status_code:200
14response{'access_token': 'ca4e142b-f0a7-447e-9776-87b211e00f9e', 'token_type': 'Bearer', 'refresh_token': '6a2dd42e-dfda-4fc3-96e8-63687223cf8f', 'expires_in': 894, 'id_token': 'eyJhbGciOiJSUzI1NiIsImtpZCI6IjIwMSIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjp7ImNvdW50cnkiOm51bGwsImxvY2FsaXR5IjpudWxsLCJwb3N0YWxfY29kZSI6bnVsbCwicmVnaW9uIjpudWxsLCJzdHJlZXRfYWRkcmVzcyI6bnVsbH0sImFzZGZnaCI6IiIsImF0X2hhc2giOiIwWUctWTFIYUphY2dTUWRYeE1YSGV3IiwiYXVkIjoiMTEyNTYzZjYtMTQ4MC00MGI4LThlMjgtZTA3MmNhMjEyYzgyIiwiYXV0aF90aW1lIjoxNTk0Mjg3NDA2LCJiaXJ0aGRhdGUiOiIxOTg3LTA3LTA4IiwiY19oYXNoIjoibUxBZy04V1JKdk0wUVR5Z2pxYWl1USIsImNvdW50cnkiOm51bGwsImVtYWlsIjpbeyJUeXBlIjoiUHJpbWFyeSIsIlZhbHVlIjoiY2xvdWRzc290ZXN0QG1haWxhenkuY29tIn1dLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiZXhwIjoxNTk0Mjg4MDExLCJmYW1pbHlfbmFtZSI6InRlc3J0IiwiZmF2aWNvbjEiOm51bGwsImZuYW1lIjoiY2xvdWRzc290IiwiZ2VuZGVyIjpudWxsLCJnaXZlbl9uYW1lIjoiY2xvdWRzc290IiwiaWF0IjoxNTk0Mjg3NDExLCJpc3MiOiJodHRwczovL2Nsb3VkLWFwaS5sb2dpbnJhZGl1cy5jb20vc3NvL29pZGMvdjIvaW50ZXJuYWwtbWF5YW5rL29pZGN0ZXN0IiwianRpIjoiZDcyZTM0OWQtYWQ0Yy00YjRlLTkzNGQtZWNjMTc2YmY0Mzg4IiwibG5hbWUiOiJ0ZXNydCIsImxvY2FsZSI6bnVsbCwibWlkZGxlX25hbWUiOm51bGwsIm5hbWUiOiJjbG91ZHNzb3QgdGVzcnQiLCJuYmYiOjE1OTQyODc0MTEsIm5pY2tuYW1lIjpudWxsLCJub25jZSI6IjZxcFY5eXNKYU9CVm94ZnYiLCJwaG9uZV9udW1iZXIiOiIrMTkwMjkwOTU3MTQiLCJwaG9uZV9udW1iZXJfdmVyaWZpZWQiOnRydWUsInBpY3R1cmUiOm51bGwsInByZWZlcnJlZF91c2VybmFtZSI6ImNsb3Vkc3NvdGVzdCIsInByb2ZpbGUiOm51bGwsInN1YiI6IjBiN2Y5NDViOGM1ZjRhMzZhMzViZjQ5ZjcyMzliZmE0IiwidWlkIjoiMGI3Zjk0NWI4YzVmNGEzNmEzNWJmNDlmNzIzOWJmYTQiLCJ1cGRhdGVkX2F0IjoxNTYzODg1MTA5LCJ1c2VybmFtZSI6ImNsb3Vkc3NvdGVzdCIsIndlYnNpdGUiOm51bGwsInpvbmVpbmZvIjpudWxsfQ.XVJzf5sfPmhYP-KI_s66aDqeZbZxlGSm4H8JFbJc_lIeX7W-VGQP0nfY4yYQpE8AMnOUg9-mJzG6DFrWQqawR8H559IPqvPREiilR5JxfyrtqrjKvpa9Ff9CncanooYb5C0LX9ONOdlDQ_L6swoHLaODRj-N6uASRSQ3Hjd4B21FOFKXn31Sn-uD2Clkhy8wSoz2zskpcxOrUB6FoB_7CgZWTdQ7lHJeNgHe_v-Gn3A_QkkBlaBklqFoKDYWy0lcWp8xlXL2kgYvucJ3l_1ZVQX1iy5Mcypx1PWHpg2l7VQ2iT309GCd7aO9R8Cl9KSEmtVrIaTn2QOqcXibGIYp8w'}
15AccessTokenResponse
{
    "access_token": "ca4e142b-f0a7-447e-9776-87b211e00f9e",
    "expires_in": 894,
    "id_token": {
        "address": {
            "country": null,
            "locality": null,
            "postal_code": null,
            "region": null,
            "street_address": null
        },
        "at_hash": "0YG-Y1HaJacgSQdXxMXHew",
        "aud": [
            "112563f6-1480-40b8-8e28-e072ca212c82"
        ],
        "auth_time": 1594287406,
        "birthdate": "1987-07-08",
        "c_hash": "mLAg-8WRJvM0QTygjqaiuQ",
        "country": null,
        "email": {
            "Type": "Primary",
            "Value": "cloudssotest@mailazy.com"
        },
        "email_verified": true,
        "exp": 1594288011,
        "family_name": "tesrt",
        "favicon1": null,
        "fname": "cloudssot",
        "gender": null,
        "given_name": "cloudssot",
        "iat": 1594287411,
        "iss": "https://cloud-api.loginradius.com/sso/oidc/v2/internal-mayank/oidctest",
        "jti": "d72e349d-ad4c-4b4e-934d-ecc176bf4388",
        "lname": "tesrt",
        "locale": null,
        "middle_name": null,
        "name": "cloudssot tesrt",
        "nbf": 1594287411,
        "nickname": null,
        "nonce": "6qpV9ysJaOBVoxfv",
        "phone_number": "+19029095714",
        "phone_number_verified": true,
        "picture": null,
        "preferred_username": "cloudssotest",
        "profile": null,
        "sub": "0b7f945b8c5f4a36a35bf49f7239bfa4",
        "uid": "0b7f945b8c5f4a36a35bf49f7239bfa4",
        "updated_at": 1563885109,
        "username": "cloudssotest",
        "website": null,
        "zoneinfo": null
    },
    "refresh_token": "6a2dd42e-dfda-4fc3-96e8-63687223cf8f",
    "token_type": "Bearer"
}
15jws header{'alg': 'RS256', 'kid': '201', 'typ': 'JWT'}
15phase<--<-- 6 --- AccessToken -->-->
15requestop_args: {'state': 'Xmo9AefyPYXx4EKN'}, req_args: {'redirect_uri': 'https://op.certification.openid.net:62346/authz_cb'}
15do_access_token_request
kwargs:{'request_args': {'redirect_uri': 'https://op.certification.openid.net:62346/authz_cb', 'code': '9480950910420f656acc4b48b03c3426:b5c9befa0194e8695f90e93469381b940a065b29c8454c2eb70b185a8112d9b6a11b6de732557fc92ae6e86d81fa23fa5aaf866d7a16f6574601c70ce8655430e57be5a27b609d9907880c2ddcb5017e1bc58f06d8336b57162a8e445dfb354a60e7caaeccb29ef12ffe07c90dfe7303', 'state': 'Xmo9AefyPYXx4EKN', 'grant_type': 'authorization_code', 'client_id': '112563f6-1480-40b8-8e28-e072ca212c82'}, 'state': 'Xmo9AefyPYXx4EKN', 'authn_method': 'client_secret_basic'}
15AccessTokenRequest
{
    "code": "9480950910420f656acc4b48b03c3426:b5c9befa0194e8695f90e93469381b940a065b29c8454c2eb70b185a8112d9b6a11b6de732557fc92ae6e86d81fa23fa5aaf866d7a16f6574601c70ce8655430e57be5a27b609d9907880c2ddcb5017e1bc58f06d8336b57162a8e445dfb354a60e7caaeccb29ef12ffe07c90dfe7303",
    "grant_type": "authorization_code",
    "redirect_uri": "https://op.certification.openid.net:62346/authz_cb",
    "state": "Xmo9AefyPYXx4EKN"
}
15request_urlhttps://cloud-api.loginradius.com/sso/oidc/v2/oidctest/token
15request_http_args{'headers': {'Authorization': 'Basic MTEyNTYzZjYtMTQ4MC00MGI4LThlMjgtZTA3MmNhMjEyYzgyOjc4ZDNkYmUzLTEwZDEtNDk3Yi05MzU3LThlZWQ0NTkzMzYzZA==', 'Content-Type': 'application/x-www-form-urlencoded'}}
15requestgrant_type=authorization_code&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A62346%2Fauthz_cb&code=9480950910420f656acc4b48b03c3426%3Ab5c9befa0194e8695f90e93469381b940a065b29c8454c2eb70b185a8112d9b6a11b6de732557fc92ae6e86d81fa23fa5aaf866d7a16f6574601c70ce8655430e57be5a27b609d9907880c2ddcb5017e1bc58f06d8336b57162a8e445dfb354a60e7caaeccb29ef12ffe07c90dfe7303&state=Xmo9AefyPYXx4EKN
15http response
url:https://cloud-api.loginradius.com/sso/oidc/v2/oidctest/token status_code:400 message:{"error":"invalid_grant","error_description":"The code is already used"}
15response{'error': 'invalid_grant', 'error_description': 'The code is already used'}
15eventGot expected error
15TokenErrorResponse
{
    "error": "invalid_grant",
    "error_description": "The code is already used"
}
15phase<--<-- 7 --- UserInfo -->-->
15do_user_info_request
kwargs:{'state': 'Xmo9AefyPYXx4EKN', 'method': 'GET', 'authn_method': 'bearer_header'}
15request{'body': None}
15request_urlhttps://cloud-api.loginradius.com/sso/oidc/v2/internal-mayank/oidctest/userinfo
15request_http_args{'headers': {'Authorization': 'Bearer ca4e142b-f0a7-447e-9776-87b211e00f9e'}}
15http response
url:https://cloud-api.loginradius.com/sso/oidc/v2/internal-mayank/oidctest/userinfo status_code:400 message:{"error":"invalid_grant","error_description":"The access_token is invalid or expired"}
15eventExpected error not received: got invalid_grant
15ErrorResponse
{
    "error": "invalid_grant",
    "error_description": "The access_token is invalid or expired"
}
15ErrorResponse
{
    "error": "invalid_grant",
    "error_description": "The access_token is invalid or expired"
}
15phase<--<-- 8 --- Done -->-->
15end
15assertionVerifyResponse
15conditionverify-response: status=OK [Checks that the last response was one of a possible set of OpenID Connect Responses]
15conditionDone: status=OK

Result

PASSED