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'}
|
1 | http response | url:https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/.well-known/openid-configuration status_code:200
|
1 | 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"
}
|
1 | phase | <--<-- 2 --- Registration -->--> |
1 | not expected to do | Dynamic registration |
1 | phase | <--<-- 3 --- AsyncAuthn -->--> |
1 | AuthorizationRequest | {
"claims": {
"userinfo": {
"name": {
"essential": true
}
}
},
"client_id": "5525f670-e6b3-41a9-afec-add4254aff3b",
"nonce": "LxGUEFe9uK6TrGUn",
"redirect_uri": "https://op.certification.openid.net:61913/authz_cb",
"response_type": "id_token token",
"scope": "openid",
"state": "9cqZJsb53rzan1pz"
}
|
1 | redirect url | https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/authorize?state=9cqZJsb53rzan1pz&nonce=LxGUEFe9uK6TrGUn&response_type=id_token+token&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61913%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 | redirect | https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default/authorize?state=9cqZJsb53rzan1pz&nonce=LxGUEFe9uK6TrGUn&response_type=id_token+token&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61913%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 | http args | {} |
2 | response | URL with fragment |
2 | response | access_token=PG9lziVAYVJ9wNhqlWytJVxlxECZC3SPRqmEVPin&scope=openid&grant_id=5f66b7f6-b7cd-4cad-b18e-ae01dc6f529e&id_token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InNlcnZlciJ9.eyJnaXZlbl9uYW1lIjoiR2VldGhhIiwic19oYXNoIjoiT0ptRHJLM0ZBY3lWYTg1Nk43a1NLQSIsInVuaXF1ZVNlY3VyaXR5TmFtZSI6IjY0MDAwNEtHNFAiLCJ0ZW5hbnRJZCI6Im9pZGMtcHJvZC1ldTAxYS10ZXN0MS5pY2UuaWJtY2xvdWQuY29tIiwicmVhbG1OYW1lIjoiY2xvdWRJZGVudGl0eVJlYWxtIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VldGhhbmphbGkuZEBpYm0uY29tIiwibmFtZSI6IkdlZXRoYSBEIiwibm9uY2UiOiJMeEdVRUZlOXVLNlRyR1VuIiwiZW1haWwiOiJnZWV0aGFuamFsaS5kQGlibS5jb20iLCJhY3IiOiJ1cm46aWJtOnNlY3VyaXR5OnBvbGljeTppZDoxIiwidXNlclR5cGUiOiJyZWd1bGFyIiwiZGlzcGxheU5hbWUiOiJHZWV0aGEgRCIsImZhbWlseV9uYW1lIjoiRCIsImdyb3VwSWRzIjpbImFsbFVzZXJzIiwiYWRtaW4iXSwiYXRfaGFzaCI6ImZWc2c0VDBUYV96SjlfWlFtNXR0WEEiLCJ1aWQiOiI2NDAwMDRLRzRQIiwiZXh0Ijp7InRlbmFudElkIjoib2lkYy1wcm9kLWV1MDFhLXRlc3QxLmljZS5pYm1jbG91ZC5jb20ifSwiaXNzIjoiaHR0cHM6Ly9vaWRjLXByb2QtZXUwMWEtdGVzdDEuaWNlLmlibWNsb3VkLmNvbS9vaWRjL2VuZHBvaW50L2RlZmF1bHQiLCJhdWQiOiI1NTI1ZjY3MC1lNmIzLTQxYTktYWZlYy1hZGQ0MjU0YWZmM2IiLCJzdWIiOiI2NDAwMDRLRzRQIiwiaWF0IjoxNTY4MTkwNTEyLCJleHAiOjE1NjgxOTc3MTJ9.ciJq7C2c_yzvAcUk8sVhBASoZ6g-qZ3j3sBsXPDgt9yW8T8nkIThCtsIEMYfXyqwvV0OhunB0myVN3_umRow0LAVIqc-x5SrgwsT4pb_49eRPgWGFUcodnq5nk3sGINE9TJeulYaCG-QCuFFbkByfzgFZkH7Xs0ME6cdApmGrF8HzLh4Z8lN2CXFl4z_xAuXkBag_FuzNyRSa55gjC3nMeceC4khR6rT1LvvLuph1QFoys3EHNLIuX2PzIR3cx7QpxIc_RulQsHQpBHv1nMN3a9fB3QbKXF5WpWPedbNO57-eBci2JVewH_EoKoWY9shJQxQmqMTgfkVO0-hHvdCBg&state=9cqZJsb53rzan1pz&token_type=Bearer&expires_in=7200 |
2 | response | {'access_token': 'PG9lziVAYVJ9wNhqlWytJVxlxECZC3SPRqmEVPin', 'scope': 'openid', 'grant_id': '5f66b7f6-b7cd-4cad-b18e-ae01dc6f529e', 'id_token': 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InNlcnZlciJ9.eyJnaXZlbl9uYW1lIjoiR2VldGhhIiwic19oYXNoIjoiT0ptRHJLM0ZBY3lWYTg1Nk43a1NLQSIsInVuaXF1ZVNlY3VyaXR5TmFtZSI6IjY0MDAwNEtHNFAiLCJ0ZW5hbnRJZCI6Im9pZGMtcHJvZC1ldTAxYS10ZXN0MS5pY2UuaWJtY2xvdWQuY29tIiwicmVhbG1OYW1lIjoiY2xvdWRJZGVudGl0eVJlYWxtIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZ2VldGhhbmphbGkuZEBpYm0uY29tIiwibmFtZSI6IkdlZXRoYSBEIiwibm9uY2UiOiJMeEdVRUZlOXVLNlRyR1VuIiwiZW1haWwiOiJnZWV0aGFuamFsaS5kQGlibS5jb20iLCJhY3IiOiJ1cm46aWJtOnNlY3VyaXR5OnBvbGljeTppZDoxIiwidXNlclR5cGUiOiJyZWd1bGFyIiwiZGlzcGxheU5hbWUiOiJHZWV0aGEgRCIsImZhbWlseV9uYW1lIjoiRCIsImdyb3VwSWRzIjpbImFsbFVzZXJzIiwiYWRtaW4iXSwiYXRfaGFzaCI6ImZWc2c0VDBUYV96SjlfWlFtNXR0WEEiLCJ1aWQiOiI2NDAwMDRLRzRQIiwiZXh0Ijp7InRlbmFudElkIjoib2lkYy1wcm9kLWV1MDFhLXRlc3QxLmljZS5pYm1jbG91ZC5jb20ifSwiaXNzIjoiaHR0cHM6Ly9vaWRjLXByb2QtZXUwMWEtdGVzdDEuaWNlLmlibWNsb3VkLmNvbS9vaWRjL2VuZHBvaW50L2RlZmF1bHQiLCJhdWQiOiI1NTI1ZjY3MC1lNmIzLTQxYTktYWZlYy1hZGQ0MjU0YWZmM2IiLCJzdWIiOiI2NDAwMDRLRzRQIiwiaWF0IjoxNTY4MTkwNTEyLCJleHAiOjE1NjgxOTc3MTJ9.ciJq7C2c_yzvAcUk8sVhBASoZ6g-qZ3j3sBsXPDgt9yW8T8nkIThCtsIEMYfXyqwvV0OhunB0myVN3_umRow0LAVIqc-x5SrgwsT4pb_49eRPgWGFUcodnq5nk3sGINE9TJeulYaCG-QCuFFbkByfzgFZkH7Xs0ME6cdApmGrF8HzLh4Z8lN2CXFl4z_xAuXkBag_FuzNyRSa55gjC3nMeceC4khR6rT1LvvLuph1QFoys3EHNLIuX2PzIR3cx7QpxIc_RulQsHQpBHv1nMN3a9fB3QbKXF5WpWPedbNO57-eBci2JVewH_EoKoWY9shJQxQmqMTgfkVO0-hHvdCBg', 'state': '9cqZJsb53rzan1pz', 'token_type': 'Bearer', 'expires_in': 7200} |
2 | AuthorizationResponse | {
"access_token": "PG9lziVAYVJ9wNhqlWytJVxlxECZC3SPRqmEVPin",
"expires_in": 7200,
"grant_id": "5f66b7f6-b7cd-4cad-b18e-ae01dc6f529e",
"id_token": {
"acr": "urn:ibm:security:policy:id:1",
"at_hash": "fVsg4T0Ta_zJ9_ZQm5ttXA",
"aud": [
"5525f670-e6b3-41a9-afec-add4254aff3b"
],
"displayName": "Geetha D",
"email": "geethanjali.d@ibm.com",
"exp": 1568197712,
"ext": {
"tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com"
},
"family_name": "D",
"given_name": "Geetha",
"groupIds": [
"allUsers",
"admin"
],
"iat": 1568190512,
"iss": "https://oidc-prod-eu01a-test1.ice.ibmcloud.com/oidc/endpoint/default",
"name": "Geetha D",
"nonce": "LxGUEFe9uK6TrGUn",
"preferred_username": "geethanjali.d@ibm.com",
"realmName": "cloudIdentityRealm",
"s_hash": "OJmDrK3FAcyVa856N7kSKA",
"sub": "640004KG4P",
"tenantId": "oidc-prod-eu01a-test1.ice.ibmcloud.com",
"uid": "640004KG4P",
"uniqueSecurityName": "640004KG4P",
"userType": "regular"
},
"scope": "openid",
"state": "9cqZJsb53rzan1pz",
"token_type": "Bearer"
}
|
2 | phase | <--<-- 4 --- AccessToken -->--> |
2 | phase | <--<-- 5 --- UserInfo -->--> |
2 | do_user_info_request | kwargs:{'state': '9cqZJsb53rzan1pz', '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 PG9lziVAYVJ9wNhqlWytJVxlxECZC3SPRqmEVPin'}} |
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 |