0 | phase | <--<-- 0 --- Webfinger -->--> |
0 | not expected to do | WebFinger |
0 | phase | <--<-- 1 --- Discovery -->--> |
0 | provider_config | kwargs:{'issuer': 'https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default'}
|
0 | http response | url:https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/.well-known/openid-configuration status_code:200
|
0 | 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"
}
|
0 | phase | <--<-- 2 --- Registration -->--> |
0 | not expected to do | Dynamic registration |
0 | phase | <--<-- 3 --- AsyncAuthn -->--> |
0 | AuthorizationRequest | {
"claims": {
"userinfo": {
"name": {
"essential": true
}
}
},
"client_id": "5525f670-e6b3-41a9-afec-add4254aff3b",
"nonce": "bgEd2YjcTwju598r",
"redirect_uri": "https://op.certification.openid.net:61906/authz_cb",
"response_type": "code",
"scope": "openid",
"state": "lRKaWVcJhAqIfHqD"
}
|
0 | redirect url | https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/authorize?state=lRKaWVcJhAqIfHqD&nonce=bgEd2YjcTwju598r&response_type=code&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61906%2Fauthz_cb&claims=%7B%22userinfo%22%3A+%7B%22name%22%3A+%7B%22essential%22%3A+true%7D%7D%7D&client_id=5525f670-e6b3-41a9-afec-add4254aff3b |
0 | redirect | https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/authorize?state=lRKaWVcJhAqIfHqD&nonce=bgEd2YjcTwju598r&response_type=code&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61906%2Fauthz_cb&claims=%7B%22userinfo%22%3A+%7B%22name%22%3A+%7B%22essential%22%3A+true%7D%7D%7D&client_id=5525f670-e6b3-41a9-afec-add4254aff3b |
1 | response | Response URL with query part |
1 | response | {'code': 'DulnJsBfrLjeAC1fgCitR5mg52tCh7', 'grant_id': '3e665850-e3cf-4b7f-abff-b855e113c190', 'state': 'lRKaWVcJhAqIfHqD'} |
1 | response | {'code': 'DulnJsBfrLjeAC1fgCitR5mg52tCh7', 'grant_id': '3e665850-e3cf-4b7f-abff-b855e113c190', 'state': 'lRKaWVcJhAqIfHqD'} |
1 | AuthorizationResponse | {
"code": "DulnJsBfrLjeAC1fgCitR5mg52tCh7",
"grant_id": "3e665850-e3cf-4b7f-abff-b855e113c190",
"state": "lRKaWVcJhAqIfHqD"
}
|
1 | phase | <--<-- 4 --- AccessToken -->--> |
1 | request | op_args: {'state': 'lRKaWVcJhAqIfHqD'}, req_args: {'redirect_uri': 'https://op.certification.openid.net:61906/authz_cb'} |
1 | do_access_token_request | kwargs:{'request_args': {'redirect_uri': 'https://op.certification.openid.net:61906/authz_cb', 'code': 'DulnJsBfrLjeAC1fgCitR5mg52tCh7', 'state': 'lRKaWVcJhAqIfHqD', 'grant_type': 'authorization_code', 'client_id': '5525f670-e6b3-41a9-afec-add4254aff3b'}, 'state': 'lRKaWVcJhAqIfHqD', 'authn_method': 'client_secret_basic'}
|
1 | AccessTokenRequest | {
"code": "DulnJsBfrLjeAC1fgCitR5mg52tCh7",
"grant_type": "authorization_code",
"redirect_uri": "https://op.certification.openid.net:61906/authz_cb",
"state": "lRKaWVcJhAqIfHqD"
}
|
1 | request_url | https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/token |
1 | request_http_args | {'headers': {'Authorization': 'Basic NTUyNWY2NzAtZTZiMy00MWE5LWFmZWMtYWRkNDI1NGFmZjNiOlRFOUwxY2wzdHc=', 'Content-Type': 'application/x-www-form-urlencoded'}} |
1 | request | grant_type=authorization_code&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61906%2Fauthz_cb&code=DulnJsBfrLjeAC1fgCitR5mg52tCh7&state=lRKaWVcJhAqIfHqD |
1 | http response | url:https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/token status_code:200
|
1 | response | {'access_token': 'rhbl2d2MUxYL2bv1eUQ8jjk4OPPXabK0iYoiJPah', 'scope': 'openid', 'grant_id': '3e665850-e3cf-4b7f-abff-b855e113c190', 'id_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InNlcnZlciJ9.eyJnaXZlbl9uYW1lIjoiR2VldGhhIiwic19oYXNoIjoiZWJDQXNMWDhobnU1WkdVZHhRTkNyZyIsInVuaXF1ZVNlY3VyaXR5TmFtZSI6IjY0MDAwNEtHNFAiLCJ0ZW5hbnRJZCI6Im9pZGMtcHJvZC1ldTAxYS10ZXN0MS5pY2UuaWJtY2xvdWQuY29tIiwicmVhbG1OYW1lIjoiY2xvdWRJZGVudGl0eVJlYWxtIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VldGhhbmphbGkuZEBpYm0uY29tIiwibmFtZSI6IkdlZXRoYSBEIiwibm9uY2UiOiJiZ0VkMllqY1R3anU1OThyIiwiZW1haWwiOiJnZWV0aGFuamFsaS5kQGlibS5jb20iLCJhY3IiOiJ1cm46aWJtOnNlY3VyaXR5OnBvbGljeTppZDoxIiwidXNlclR5cGUiOiJyZWd1bGFyIiwiZGlzcGxheU5hbWUiOiJHZWV0aGEgRCIsImZhbWlseV9uYW1lIjoiRCIsImdyb3VwSWRzIjpbImFsbFVzZXJzIiwiYWRtaW4iXSwiYXRfaGFzaCI6InIyanB0TG9weEVqZ0YzTms4em9QVEEiLCJ1aWQiOiI2NDAwMDRLRzRQIiwiZXh0Ijp7InRlbmFudElkIjoib2lkYy1wcm9kLWV1MDFhLXRlc3QxLmljZS5pYm1jbG91ZC5jb20ifSwiaXNzIjoiaHR0cHM6Ly9vaWRjLXByb2QtZXUwMWEtdGVzdDEuaWNlLmlibWNsb3VkLmNvbS9vaWRjL2VuZHBvaW50L2RlZmF1bHQiLCJhdWQiOiI1NTI1ZjY3MC1lNmIzLTQxYTktYWZlYy1hZGQ0MjU0YWZmM2IiLCJzdWIiOiI2NDAwMDRLRzRQIiwiaWF0IjoxNTY4MTg5OTYzLCJleHAiOjE1NjgxOTcxNjN9.DHN647iXyhCAPVm4BMixkkIJGQX-pdDugifKxYf8Hy22m5sHMNG6T4wAMAyp-FY67t81zoIB0Fp234F1nnMuXaYSd0AHoalpGNTphMmjBaUfbJfmoMs6afE0t6bPldYTniUWgKWO-t30zvth2Un8PnGJuHaeDLlr8sqyig6Mb3TL6A94KWZHrDeTaK43vRBnj_e4MytSUVmYiYWuKF6Qqvsw0YK36Xy9-QWhmyMcakPkxhJqZoqh3PxVxUCjI5EGU8Sau5hUvsgVMGt271UXjUncwdTq91qNvX6IHxvMmJT_c-a83cFBaKOmlic6s0DVtRz1rBAfsNSRTcL-xxuqRg', 'token_type': 'Bearer', 'expires_in': 7199} |
2 | AccessTokenResponse | {
"access_token": "rhbl2d2MUxYL2bv1eUQ8jjk4OPPXabK0iYoiJPah",
"expires_in": 7199,
"grant_id": "3e665850-e3cf-4b7f-abff-b855e113c190",
"id_token": {
"acr": "urn:ibm:security:policy:id:1",
"at_hash": "r2jptLopxEjgF3Nk8zoPTA",
"aud": [
"5525f670-e6b3-41a9-afec-add4254aff3b"
],
"displayName": "Geetha D",
"email": "geethanjali.d@ibm.com",
"exp": 1568197163,
"ext": {
"tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com"
},
"family_name": "D",
"given_name": "Geetha",
"groupIds": [
"allUsers",
"admin"
],
"iat": 1568189963,
"iss": "https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default",
"name": "Geetha D",
"nonce": "bgEd2YjcTwju598r",
"preferred_username": "geethanjali.d@ibm.com",
"realmName": "cloudIdentityRealm",
"s_hash": "ebCAsLX8hnu5ZGUdxQNCrg",
"sub": "640004KG4P",
"tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com",
"uid": "640004KG4P",
"uniqueSecurityName": "640004KG4P",
"userType": "regular"
},
"scope": "openid",
"token_type": "Bearer"
}
|
2 | jws header | {'alg': 'RS256', 'typ': 'JWT', 'kid': 'server'} |
2 | phase | <--<-- 5 --- UserInfo -->--> |
2 | do_user_info_request | kwargs:{'state': 'lRKaWVcJhAqIfHqD', 'method': 'GET', 'authn_method': 'bearer_header'}
|
2 | request | {'body': None} |
2 | request_url | https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/userinfo |
2 | request_http_args | {'headers': {'Authorization': 'Bearer rhbl2d2MUxYL2bv1eUQ8jjk4OPPXabK0iYoiJPah'}} |
2 | http response | url:https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/userinfo status_code:200
|
2 | OpenIDSchema | {
"acr": "urn:ibm:security:policy:id:1",
"displayName": "Geetha D",
"email": "geethanjali.d@ibm.com",
"ext": {
"tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com"
},
"family_name": "D",
"given_name": "Geetha",
"groupIds": [
"allUsers",
"admin"
],
"name": "Geetha D",
"preferred_username": "geethanjali.d@ibm.com",
"realmName": "cloudIdentityRealm",
"sub": "640004KG4P",
"tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com",
"uid": "640004KG4P",
"uniqueSecurityName": "640004KG4P",
"userType": "regular"
}
|
2 | OpenIDSchema | {
"acr": "urn:ibm:security:policy:id:1",
"displayName": "Geetha D",
"email": "geethanjali.d@ibm.com",
"ext": {
"tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com"
},
"family_name": "D",
"given_name": "Geetha",
"groupIds": [
"allUsers",
"admin"
],
"name": "Geetha D",
"preferred_username": "geethanjali.d@ibm.com",
"realmName": "cloudIdentityRealm",
"sub": "640004KG4P",
"tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com",
"uid": "640004KG4P",
"uniqueSecurityName": "640004KG4P",
"userType": "regular"
}
|
2 | phase | <--<-- 6 --- Done -->--> |
2 | end | |
2 | assertion | VerifyClaims |
2 | condition | verify-claims: status=WARNING, message=Unexpected claims in response: ['ext', 'displayName', 'realmName', 'uniqueSecurityName', 'preferred_username', 'given_name', 'uid', 'acr', 'groupIds', 'tenantId', 'userType', 'family_name', 'email'] [Verifies that the claims returned as UserInfo or in the ID Token is consistent with what was asked for] |
2 | assertion | CheckHTTPResponse |
2 | condition | check-http-response: status=OK [Checks that the HTTP response status is within the 200 or 300 range. Also does some extra JSON checks] |
2 | condition | Done: status=OK |