0 | phase | <--<-- 0 --- Note -->--> |
2 | phase | <--<-- 1 --- Webfinger -->--> |
2 | not expected to do | WebFinger |
2 | phase | <--<-- 2 --- Discovery -->--> |
2 | provider_config | kwargs:{'issuer': 'https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default'}
|
2 | http response | url:https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/.well-known/openid-configuration status_code:200
|
2 | ProviderConfigurationResponse | {
"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"
}
|
2 | phase | <--<-- 3 --- Registration -->--> |
2 | not expected to do | Dynamic registration |
2 | phase | <--<-- 4 --- AsyncAuthn -->--> |
2 | AuthorizationRequest | {
"client_id": "5525f670-e6b3-41a9-afec-add4254aff3b",
"nonce": "jNnrUvsJjbKfbLvd",
"redirect_uri": "https://op.certification.openid.net:61915/authz_cb",
"response_type": "code token",
"scope": "openid",
"state": "O5aRCegLjEVD3Pne"
}
|
2 | redirect url | https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/authorize?state=O5aRCegLjEVD3Pne&nonce=jNnrUvsJjbKfbLvd&response_type=code+token&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61915%2Fauthz_cb&client_id=5525f670-e6b3-41a9-afec-add4254aff3b |
2 | redirect | https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/authorize?state=O5aRCegLjEVD3Pne&nonce=jNnrUvsJjbKfbLvd&response_type=code+token&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61915%2Fauthz_cb&client_id=5525f670-e6b3-41a9-afec-add4254aff3b |
3 | http args | {} |
3 | response | URL with fragment |
3 | response | access_token=W1pq5X2c9wXyaIokOULxyQuPSythhNARYxUPBbs5&code=QZcS2uyPBAQd6tCzi4QT9gSCihLIuV&scope=openid&grant_id=64acbe69-76c8-44e1-b7b1-7acaeba87ae0&state=O5aRCegLjEVD3Pne&token_type=Bearer&expires_in=7200 |
3 | response | {'access_token': 'W1pq5X2c9wXyaIokOULxyQuPSythhNARYxUPBbs5', 'code': 'QZcS2uyPBAQd6tCzi4QT9gSCihLIuV', 'scope': 'openid', 'grant_id': '64acbe69-76c8-44e1-b7b1-7acaeba87ae0', 'state': 'O5aRCegLjEVD3Pne', 'token_type': 'Bearer', 'expires_in': 7200} |
3 | AuthorizationResponse | {
"access_token": "W1pq5X2c9wXyaIokOULxyQuPSythhNARYxUPBbs5",
"code": "QZcS2uyPBAQd6tCzi4QT9gSCihLIuV",
"expires_in": 7200,
"grant_id": "64acbe69-76c8-44e1-b7b1-7acaeba87ae0",
"scope": "openid",
"state": "O5aRCegLjEVD3Pne",
"token_type": "Bearer"
}
|
3 | phase | <--<-- 5 --- AccessToken -->--> |
3 | request | op_args: {'state': 'O5aRCegLjEVD3Pne'}, req_args: {'redirect_uri': 'https://op.certification.openid.net:61915/authz_cb'} |
3 | do_access_token_request | kwargs:{'request_args': {'redirect_uri': 'https://op.certification.openid.net:61915/authz_cb', 'code': 'QZcS2uyPBAQd6tCzi4QT9gSCihLIuV', 'state': 'O5aRCegLjEVD3Pne', 'grant_type': 'authorization_code', 'client_id': '5525f670-e6b3-41a9-afec-add4254aff3b'}, 'state': 'O5aRCegLjEVD3Pne', 'authn_method': 'client_secret_basic'}
|
3 | AccessTokenRequest | {
"code": "QZcS2uyPBAQd6tCzi4QT9gSCihLIuV",
"grant_type": "authorization_code",
"redirect_uri": "https://op.certification.openid.net:61915/authz_cb",
"state": "O5aRCegLjEVD3Pne"
}
|
3 | request_url | https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/token |
3 | request_http_args | {'headers': {'Authorization': 'Basic NTUyNWY2NzAtZTZiMy00MWE5LWFmZWMtYWRkNDI1NGFmZjNiOlRFOUwxY2wzdHc=', 'Content-Type': 'application/x-www-form-urlencoded'}} |
3 | request | grant_type=authorization_code&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61915%2Fauthz_cb&code=QZcS2uyPBAQd6tCzi4QT9gSCihLIuV&state=O5aRCegLjEVD3Pne |
3 | http response | url:https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/token status_code:200
|
3 | response | {'access_token': 'mhd7yxww3zM8j0eN10T3zgQQfjueXuHwbVJ9aXH8', 'scope': 'openid', 'grant_id': '64acbe69-76c8-44e1-b7b1-7acaeba87ae0', 'id_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InNlcnZlciJ9.eyJnaXZlbl9uYW1lIjoiR2VldGhhIiwic19oYXNoIjoickhBWlRjcnl4bk5yRm5lLVRqZjRRUSIsInVuaXF1ZVNlY3VyaXR5TmFtZSI6IjY0MDAwNEtHNFAiLCJ0ZW5hbnRJZCI6Im9pZGMtcHJvZC1ldTAxYS10ZXN0MS5pY2UuaWJtY2xvdWQuY29tIiwicmVhbG1OYW1lIjoiY2xvdWRJZGVudGl0eVJlYWxtIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VldGhhbmphbGkuZEBpYm0uY29tIiwibmFtZSI6IkdlZXRoYSBEIiwibm9uY2UiOiJqTm5yVXZzSmpiS2ZiTHZkIiwiZW1haWwiOiJnZWV0aGFuamFsaS5kQGlibS5jb20iLCJhY3IiOiJ1cm46aWJtOnNlY3VyaXR5OnBvbGljeTppZDoxIiwidXNlclR5cGUiOiJyZWd1bGFyIiwiZGlzcGxheU5hbWUiOiJHZWV0aGEgRCIsImZhbWlseV9uYW1lIjoiRCIsImdyb3VwSWRzIjpbImFsbFVzZXJzIiwiYWRtaW4iXSwiYXRfaGFzaCI6IkZqbWhLYlE2VEJUUk9lWkdicDlvZWciLCJ1aWQiOiI2NDAwMDRLRzRQIiwiZXh0Ijp7InRlbmFudElkIjoib2lkYy1wcm9kLWV1MDFhLXRlc3QxLmljZS5pYm1jbG91ZC5jb20ifSwiaXNzIjoiaHR0cHM6Ly9vaWRjLXByb2QtZXUwMWEtdGVzdDEuaWNlLmlibWNsb3VkLmNvbS9vaWRjL2VuZHBvaW50L2RlZmF1bHQiLCJhdWQiOiI1NTI1ZjY3MC1lNmIzLTQxYTktYWZlYy1hZGQ0MjU0YWZmM2IiLCJzdWIiOiI2NDAwMDRLRzRQIiwiaWF0IjoxNTY4MTkzNTAyLCJleHAiOjE1NjgyMDA3MDJ9.I_h3WWOYLGmdKWARQdKG5O85P6uZ6fb8vQaPF7qC1Y3S1nbtxBOuUPefQAM9yQWjyay3TLCBTXemV2xqnUEm9I5S_lIJoFlOOME6f2AseWfXWLh6OXCkRJQBRR8VPWpJfh5U0wba--QArt_Doec25sbVRQ58-gLPfntH1NAJdxGwGfueD6DCkfY8GK6YpgbCkuVOJ7E287vGu1ZOufBVKN2bvZfIWz1CR1kZIVyXtuvv8lRKm3iIhZhYocY97SrCUkOfJ3ZFJhpFB9ITWrewkEGgNbmyAOB56flerAcCh-GTHTZMIIDNX2R50fDQ3HcXGIZ2ec7F16s722zfNkamhg', 'token_type': 'Bearer', 'expires_in': 7199} |
4 | AccessTokenResponse | {
"access_token": "mhd7yxww3zM8j0eN10T3zgQQfjueXuHwbVJ9aXH8",
"expires_in": 7199,
"grant_id": "64acbe69-76c8-44e1-b7b1-7acaeba87ae0",
"id_token": {
"acr": "urn:ibm:security:policy:id:1",
"at_hash": "FjmhKbQ6TBTROeZGbp9oeg",
"aud": [
"5525f670-e6b3-41a9-afec-add4254aff3b"
],
"displayName": "Geetha D",
"email": "geethanjali.d@ibm.com",
"exp": 1568200702,
"ext": {
"tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com"
},
"family_name": "D",
"given_name": "Geetha",
"groupIds": [
"allUsers",
"admin"
],
"iat": 1568193502,
"iss": "https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default",
"name": "Geetha D",
"nonce": "jNnrUvsJjbKfbLvd",
"preferred_username": "geethanjali.d@ibm.com",
"realmName": "cloudIdentityRealm",
"s_hash": "rHAZTcryxnNrFne-Tjf4QQ",
"sub": "640004KG4P",
"tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com",
"uid": "640004KG4P",
"uniqueSecurityName": "640004KG4P",
"userType": "regular"
},
"scope": "openid",
"token_type": "Bearer"
}
|
4 | jws header | {'alg': 'RS256', 'typ': 'JWT', 'kid': 'server'} |
4 | phase | <--<-- 6 --- TimeDelay -->--> |
34 | phase | <--<-- 7 --- AccessToken -->--> |
34 | request | op_args: {'state': 'O5aRCegLjEVD3Pne'}, req_args: {'redirect_uri': 'https://op.certification.openid.net:61915/authz_cb'} |
34 | do_access_token_request | kwargs:{'request_args': {'redirect_uri': 'https://op.certification.openid.net:61915/authz_cb', 'code': 'QZcS2uyPBAQd6tCzi4QT9gSCihLIuV', 'state': 'O5aRCegLjEVD3Pne', 'grant_type': 'authorization_code', 'client_id': '5525f670-e6b3-41a9-afec-add4254aff3b'}, 'state': 'O5aRCegLjEVD3Pne', 'authn_method': 'client_secret_basic'}
|
34 | AccessTokenRequest | {
"code": "QZcS2uyPBAQd6tCzi4QT9gSCihLIuV",
"grant_type": "authorization_code",
"redirect_uri": "https://op.certification.openid.net:61915/authz_cb",
"state": "O5aRCegLjEVD3Pne"
}
|
34 | request_url | https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/token |
34 | request_http_args | {'headers': {'Authorization': 'Basic NTUyNWY2NzAtZTZiMy00MWE5LWFmZWMtYWRkNDI1NGFmZjNiOlRFOUwxY2wzdHc=', 'Content-Type': 'application/x-www-form-urlencoded'}} |
34 | request | grant_type=authorization_code&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61915%2Fauthz_cb&code=QZcS2uyPBAQd6tCzi4QT9gSCihLIuV&state=O5aRCegLjEVD3Pne |
34 | http 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"}
|
34 | response | {'error_description': 'CSIAQ0158E The [authorization_grant] of type [authorization_code] does not exist or is invalid.', 'error': 'invalid_grant'} |
34 | event | Got expected error |
34 | TokenErrorResponse | {
"error": "invalid_grant",
"error_description": "CSIAQ0158E The [authorization_grant] of type [authorization_code] does not exist or is invalid."
}
|
34 | phase | <--<-- 8 --- Done -->--> |
34 | end | |
34 | assertion | CheckHTTPErrorResponse |
34 | condition | 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.] |
34 | assertion | VerifyResponse |
34 | condition | verify-response: status=OK [Checks that the last response was one of a possible set of OpenID Connect Responses] |
34 | condition | Done: status=OK |