0 | phase | <--<-- 0 --- Webfinger -->--> |
0 | not expected to do | WebFinger |
0 | phase | <--<-- 1 --- Discovery -->--> |
0 | not expected to do | Dynamic discovery |
0 | phase | <--<-- 2 --- Registration -->--> |
0 | not expected to do | Dynamic registration |
0 | phase | <--<-- 3 --- Note -->--> |
2 | phase | <--<-- 4 --- AsyncAuthn -->--> |
2 | AuthorizationRequest | {
"client_id": "op.certification.openid.net",
"nonce": "MoubyApuKBNjld6T",
"redirect_uri": "https://op.certification.openid.net:61504/authz_cb",
"response_type": "code",
"scope": "openid",
"state": "z7rVdxo2Ylm9rcVF"
}
|
2 | redirect url | https://idp.armls.com/connect/authorize?state=z7rVdxo2Ylm9rcVF&nonce=MoubyApuKBNjld6T&response_type=code&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61504%2Fauthz_cb&client_id=op.certification.openid.net |
2 | redirect | https://idp.armls.com/connect/authorize?state=z7rVdxo2Ylm9rcVF&nonce=MoubyApuKBNjld6T&response_type=code&scope=openid&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61504%2Fauthz_cb&client_id=op.certification.openid.net |
2 | response | Response URL with query part |
2 | response | {'code': '5fc65550c9c963f668a3dae40d67e2fb562a2457705fb70274681ce24fba10a0', 'scope': 'openid', 'state': 'z7rVdxo2Ylm9rcVF', 'session_state': 'PPiY8TdE9K60-Goj38dpKBfvXsXTNJHVUkJO7mzX8RM.508b66f4b2720549cc43887d8bfb7c8f'} |
2 | response | {'code': '5fc65550c9c963f668a3dae40d67e2fb562a2457705fb70274681ce24fba10a0', 'scope': 'openid', 'state': 'z7rVdxo2Ylm9rcVF', 'session_state': 'PPiY8TdE9K60-Goj38dpKBfvXsXTNJHVUkJO7mzX8RM.508b66f4b2720549cc43887d8bfb7c8f'} |
2 | AuthorizationResponse | {
"code": "5fc65550c9c963f668a3dae40d67e2fb562a2457705fb70274681ce24fba10a0",
"scope": "openid",
"session_state": "PPiY8TdE9K60-Goj38dpKBfvXsXTNJHVUkJO7mzX8RM.508b66f4b2720549cc43887d8bfb7c8f",
"state": "z7rVdxo2Ylm9rcVF"
}
|
2 | phase | <--<-- 5 --- AccessToken -->--> |
2 | request | op_args: {'state': 'z7rVdxo2Ylm9rcVF'}, req_args: {'redirect_uri': 'https://op.certification.openid.net:61504/authz_cb'} |
2 | do_access_token_request | kwargs:{'request_args': {'redirect_uri': 'https://op.certification.openid.net:61504/authz_cb', 'code': '5fc65550c9c963f668a3dae40d67e2fb562a2457705fb70274681ce24fba10a0', 'state': 'z7rVdxo2Ylm9rcVF', 'grant_type': 'authorization_code', 'client_id': 'op.certification.openid.net'}, 'state': 'z7rVdxo2Ylm9rcVF', 'authn_method': 'client_secret_basic'}
|
2 | AccessTokenRequest | {
"code": "5fc65550c9c963f668a3dae40d67e2fb562a2457705fb70274681ce24fba10a0",
"grant_type": "authorization_code",
"redirect_uri": "https://op.certification.openid.net:61504/authz_cb",
"state": "z7rVdxo2Ylm9rcVF"
}
|
2 | request_url | https://idp.armls.com/connect/token |
2 | request_http_args | {'headers': {'Authorization': 'Basic b3AuY2VydGlmaWNhdGlvbi5vcGVuaWQubmV0Om9wLmNlcnRpZmljYXRpb24ub3BlbmlkLm5ldA==', 'Content-Type': 'application/x-www-form-urlencoded'}} |
2 | request | grant_type=authorization_code&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61504%2Fauthz_cb&code=5fc65550c9c963f668a3dae40d67e2fb562a2457705fb70274681ce24fba10a0&state=z7rVdxo2Ylm9rcVF |
2 | http response | url:https://idp.armls.com/connect/token status_code:200
|
2 | response | {'id_token': 'eyJhbGciOiJSUzI1NiIsImtpZCI6IkUzOEMwRDRBMzgwNkI1NTMxQTRFN0Y3MTNDQ0ZBMjI2NEE3N0FCNDEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiI0NHdOU2pnR3RWTWFUbjl4UE0taUprcDNxMEUifQ.eyJuYmYiOjE1NTA3ODcyMzgsImV4cCI6MTU1MDc4NzUzOCwiaXNzIjoiaHR0cHM6Ly9pZHAuYXJtbHMuY29tIiwiYXVkIjoib3AuY2VydGlmaWNhdGlvbi5vcGVuaWQubmV0Iiwibm9uY2UiOiJNb3VieUFwdUtCTmpsZDZUIiwiaWF0IjoxNTUwNzg3MjM4LCJhdF9oYXNoIjoicDh3N1lONzgxbGhyTmZuYk1qQUZUUSIsInNpZCI6IjkyYTk2ODgzOGJlZWE4MDZiNWE0MGE5NTAyMWNmOTYxIiwic3ViIjoiMDIwNTE2NzUtN0REMy00NDY5LUE0MzMtRENEM0E3RUI3Qjg4IiwiYXV0aF90aW1lIjoxNTUwNzg3MjE1LCJpZHAiOiJsb2NhbCIsImFtciI6WyJleHRlcm5hbCJdfQ.WnLdD72Ru-xVLIHoh9hpD9e_2oZWID_ooPamCSfyBnlncZ-Obz0xRTyhmP8cRKihc2AwmDUIaMcH9-S0n3NwOrPLgAeAP2shGihmUdVrFlWcwXhQw_2GzPY9KlwPr_0NFeQ_i9EV5AhK4AGKhP-dFqMVz6GHBoETN03EfD7x_xdK7_K3Vvc2E7cM27eo3p-srp4A7T0qj05YJU5eUtH1AoMTpFWvbWntWC6euturYpl24X6vQ0Nrh9ENdcgARGCmlbRU2o5S1cEjn1hYO0KuxzROeNaWZFcFMCNbRGhVaL73PJYBwrzwkgzsz8QfdfABZlRcIYrzmkJDgYZuTWhFXA', 'access_token': 'eyJhbGciOiJSUzI1NiIsImtpZCI6IkUzOEMwRDRBMzgwNkI1NTMxQTRFN0Y3MTNDQ0ZBMjI2NEE3N0FCNDEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiI0NHdOU2pnR3RWTWFUbjl4UE0taUprcDNxMEUifQ.eyJuYmYiOjE1NTA3ODcyMzgsImV4cCI6MTU1MDc5MDgzOCwiaXNzIjoiaHR0cHM6Ly9pZHAuYXJtbHMuY29tIiwiYXVkIjoiaHR0cHM6Ly9pZHAuYXJtbHMuY29tL3Jlc291cmNlcyIsImNsaWVudF9pZCI6Im9wLmNlcnRpZmljYXRpb24ub3BlbmlkLm5ldCIsInN1YiI6IjAyMDUxNjc1LTdERDMtNDQ2OS1BNDMzLURDRDNBN0VCN0I4OCIsImF1dGhfdGltZSI6MTU1MDc4NzIxNSwiaWRwIjoibG9jYWwiLCJzY29wZSI6WyJvcGVuaWQiXSwiYW1yIjpbImV4dGVybmFsIl19.JksPpwx1Cil3fZKS9DKlTZk28inmXZkwhVSgYU28NTeAHCvdfn1pJhqiWIrsNaB46R9LmOP6IfV_9-fm17FwShIBe1LtSkP_994DmzFEm5QI9AJu9IIvIO4VOAQSsU6nIMC-Mh-GiTUs_ugggp2q3hzUTwvY1wFoRZMn4d6wqSHMo1cvcdeY0STpVukeIIUXcdEhGEWJ8-JPMG36czv6g351qQ2f3f_2ReKaKTcywt54DPABSpQ9QA7ul72aWf456ZeKx2gL8z7Kii52rOuscNbA76l_K3_NBIIrJy9eT9xKRezYLhFzkAvwnIP_uEE_CGDA6B8e6tU8l1pVZKjtlA', 'expires_in': 3600, 'token_type': 'Bearer'} |
3 | AccessTokenResponse | {
"access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkUzOEMwRDRBMzgwNkI1NTMxQTRFN0Y3MTNDQ0ZBMjI2NEE3N0FCNDEiLCJ0eXAiOiJKV1QiLCJ4NXQiOiI0NHdOU2pnR3RWTWFUbjl4UE0taUprcDNxMEUifQ.eyJuYmYiOjE1NTA3ODcyMzgsImV4cCI6MTU1MDc5MDgzOCwiaXNzIjoiaHR0cHM6Ly9pZHAuYXJtbHMuY29tIiwiYXVkIjoiaHR0cHM6Ly9pZHAuYXJtbHMuY29tL3Jlc291cmNlcyIsImNsaWVudF9pZCI6Im9wLmNlcnRpZmljYXRpb24ub3BlbmlkLm5ldCIsInN1YiI6IjAyMDUxNjc1LTdERDMtNDQ2OS1BNDMzLURDRDNBN0VCN0I4OCIsImF1dGhfdGltZSI6MTU1MDc4NzIxNSwiaWRwIjoibG9jYWwiLCJzY29wZSI6WyJvcGVuaWQiXSwiYW1yIjpbImV4dGVybmFsIl19.JksPpwx1Cil3fZKS9DKlTZk28inmXZkwhVSgYU28NTeAHCvdfn1pJhqiWIrsNaB46R9LmOP6IfV_9-fm17FwShIBe1LtSkP_994DmzFEm5QI9AJu9IIvIO4VOAQSsU6nIMC-Mh-GiTUs_ugggp2q3hzUTwvY1wFoRZMn4d6wqSHMo1cvcdeY0STpVukeIIUXcdEhGEWJ8-JPMG36czv6g351qQ2f3f_2ReKaKTcywt54DPABSpQ9QA7ul72aWf456ZeKx2gL8z7Kii52rOuscNbA76l_K3_NBIIrJy9eT9xKRezYLhFzkAvwnIP_uEE_CGDA6B8e6tU8l1pVZKjtlA",
"expires_in": 3600,
"id_token": {
"amr": [
"external"
],
"at_hash": "p8w7YN781lhrNfnbMjAFTQ",
"aud": [
"op.certification.openid.net"
],
"auth_time": 1550787215,
"exp": 1550787538,
"iat": 1550787238,
"idp": "local",
"iss": "https://idp.armls.com",
"nbf": 1550787238,
"nonce": "MoubyApuKBNjld6T",
"sid": "92a968838beea806b5a40a95021cf961",
"sub": "02051675-7DD3-4469-A433-DCD3A7EB7B88"
},
"token_type": "Bearer"
}
|
3 | jws header | {'alg': 'RS256', 'kid': 'E38C0D4A3806B5531A4E7F713CCFA2264A77AB41', 'typ': 'JWT', 'x5t': '44wNSjgGtVMaTn9xPM-iJkp3q0E'} |
3 | phase | <--<-- 6 --- AccessToken -->--> |
3 | request | op_args: {'state': 'z7rVdxo2Ylm9rcVF'}, req_args: {'redirect_uri': 'https://op.certification.openid.net:61504/authz_cb'} |
3 | do_access_token_request | kwargs:{'request_args': {'redirect_uri': 'https://op.certification.openid.net:61504/authz_cb', 'code': '5fc65550c9c963f668a3dae40d67e2fb562a2457705fb70274681ce24fba10a0', 'state': 'z7rVdxo2Ylm9rcVF', 'grant_type': 'authorization_code', 'client_id': 'op.certification.openid.net'}, 'state': 'z7rVdxo2Ylm9rcVF', 'authn_method': 'client_secret_basic'}
|
3 | AccessTokenRequest | {
"code": "5fc65550c9c963f668a3dae40d67e2fb562a2457705fb70274681ce24fba10a0",
"grant_type": "authorization_code",
"redirect_uri": "https://op.certification.openid.net:61504/authz_cb",
"state": "z7rVdxo2Ylm9rcVF"
}
|
3 | request_url | https://idp.armls.com/connect/token |
3 | request_http_args | {'headers': {'Authorization': 'Basic b3AuY2VydGlmaWNhdGlvbi5vcGVuaWQubmV0Om9wLmNlcnRpZmljYXRpb24ub3BlbmlkLm5ldA==', 'Content-Type': 'application/x-www-form-urlencoded'}} |
3 | request | grant_type=authorization_code&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61504%2Fauthz_cb&code=5fc65550c9c963f668a3dae40d67e2fb562a2457705fb70274681ce24fba10a0&state=z7rVdxo2Ylm9rcVF |
3 | http response | url:https://idp.armls.com/connect/token status_code:400 message:{"error":"invalid_grant"}
|
3 | response | {'error': 'invalid_grant'} |
3 | event | Got expected error |
3 | TokenErrorResponse | {
"error": "invalid_grant"
}
|
3 | phase | <--<-- 7 --- Done -->--> |
3 | end | |
3 | assertion | CheckHTTPErrorResponse |
3 | 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.] |
3 | assertion | VerifyResponse |
3 | condition | verify-response: status=OK [Checks that the last response was one of a possible set of OpenID Connect Responses] |
3 | condition | Done: status=OK |