Test info
Profile: {'openid-configuration': 'config', 'response_type': 'code', 'crypto': 'sign+encrypt', 'registration': 'dynamic'}
Timestamp: 2016-12-17T10:51:13Z
Test description: Trying to use authorization code twice with 30 seconds in between uses must result in an error [Basic, Hybrid]
Test ID: OP-OAuth-2nd-30s
Issuer: https://demo.c2id.com/c2id
Test output
__RegistrationRequest:post__
[check]
status: INFORMATION
description: Registration Response
info: {"post_logout_redirect_uris":["https:\/\/op.certification.openid.net:60784\/logout"],"grant_types":["authorization_code"],"subject_type":"public","default_max_age":3600,"application_type":"web","registration_client_uri":"https:\/\/demo.c2id.com\/c2id\/clients\/dvoncd4ztlpde","redirect_uris":["https:\/\/op.certification.openid.net:60784\/authz_cb"],"registration_access_token":"yG_WtfgBp4DljB0M1UIXrkkGG-npEz6IO_rqtP_BL3s.YSxpLHI","token_endpoint_auth_method":"client_secret_basic","client_id":"dvoncd4ztlpde","client_secret_expires_at":0,"require_auth_time":true,"client_id_issued_at":1481971817,"client_secret":"B9Y5Rp5Q544VdeBa0ojjq9oYpsVO9-u3PkTlAQHh3Xg","contacts":["roland.hedberg@umu.se"],"response_types":["code"],"id_token_signed_response_alg":"RS256"}
__AuthorizationRequest:pre__
[check-response-type]
status: OK
description: Checks that the asked for response type are among the supported
[check-endpoint]
status: OK
description: Checks that the necessary endpoint exists at a server
__After completing the test flow:__
[verify-response]
status: OK
description: Checks that the last response was one of a possible set of OpenID Connect Responses
__X:==== END ====__
Trace output
1.938308 ------------ DiscoveryRequest ------------
1.938328 Provider info discover from 'https://demo.c2id.com/c2id'
1.938333 --> URL: https://demo.c2id.com/c2id/.well-known/openid-configuration
2.305328 ProviderConfigurationResponse: {
"acr_values_supported": [
"0"
],
"authorization_endpoint": "https://demo.c2id.com/c2id-login-page-js",
"claim_types_supported": [
"normal"
],
"claims_parameter_supported": true,
"claims_supported": [
"sub",
"iss",
"auth_time",
"acr",
"name",
"given_name",
"family_name",
"nickname",
"email",
"email_verified"
],
"code_challenge_methods_supported": [
"S256",
"plain"
],
"display_values_supported": [
"page",
"popup"
],
"grant_types_supported": [
"implicit",
"authorization_code",
"refresh_token",
"password",
"client_credentials",
"urn:ietf:params:oauth:grant-type:jwt-bearer"
],
"id_token_encryption_alg_values_supported": [
"RSA1_5",
"RSA-OAEP",
"RSA-OAEP-256",
"ECDH-ES",
"ECDH-ES+A128KW",
"ECDH-ES+A192KW",
"ECDH-ES+A256KW",
"dir",
"A128KW",
"A192KW",
"A256KW",
"A128GCMKW",
"A192GCMKW",
"A256GCMKW"
],
"id_token_encryption_enc_values_supported": [
"A128CBC-HS256",
"A192CBC-HS384",
"A256CBC-HS512",
"A128GCM",
"A192GCM",
"A256GCM"
],
"id_token_signing_alg_values_supported": [
"RS256",
"RS384",
"RS512",
"PS256",
"PS384",
"PS512",
"ES256",
"ES384",
"ES512",
"HS256",
"HS384",
"HS512",
"none"
],
"introspection_endpoint": "https://demo.c2id.com/c2id/token/introspect",
"issuer": "https://demo.c2id.com/c2id",
"jwks_uri": "https://demo.c2id.com/c2id/jwks.json",
"registration_endpoint": "https://demo.c2id.com/c2id/clients",
"request_object_signing_alg_values_supported": [
"HS256",
"HS384",
"HS512",
"RS256",
"RS384",
"RS512",
"PS256",
"PS384",
"PS512",
"ES256",
"ES384",
"ES512",
"none"
],
"request_parameter_supported": true,
"request_uri_parameter_supported": false,
"request_uri_quota": 10,
"require_request_uri_registration": true,
"response_modes_supported": [
"query",
"fragment",
"form_post"
],
"response_types_supported": [
"code",
"id_token",
"id_token token",
"code id_token",
"code id_token token"
],
"revocation_endpoint": "https://demo.c2id.com/c2id/token/revoke",
"scopes_supported": [
"openid",
"profile",
"email",
"address",
"phone",
"offline_access"
],
"subject_types_supported": [
"public",
"pairwise"
],
"token_endpoint": "https://demo.c2id.com/c2id/token",
"token_endpoint_auth_methods_supported": [
"client_secret_basic",
"client_secret_post",
"client_secret_jwt",
"private_key_jwt",
"none"
],
"token_endpoint_auth_signing_alg_values_supported": [
"RS256",
"RS384",
"RS512",
"HS256",
"HS384",
"HS512",
"PS256",
"PS384",
"PS512",
"ES256",
"ES384",
"ES512"
],
"ui_locales_supported": [
"en"
],
"userinfo_encryption_alg_values_supported": [
"RSA1_5",
"RSA-OAEP",
"RSA-OAEP-256",
"ECDH-ES",
"ECDH-ES+A128KW",
"ECDH-ES+A192KW",
"ECDH-ES+A256KW",
"dir",
"A128KW",
"A192KW",
"A256KW",
"A128GCMKW",
"A192GCMKW",
"A256GCMKW"
],
"userinfo_encryption_enc_values_supported": [
"A128CBC-HS256",
"A192CBC-HS384",
"A256CBC-HS512",
"A128GCM",
"A192GCM",
"A256GCM"
],
"userinfo_endpoint": "https://demo.c2id.com/c2id/userinfo",
"userinfo_signing_alg_values_supported": [
"RS256",
"RS384",
"RS512",
"PS256",
"PS384",
"PS512",
"ES256",
"ES384",
"ES512",
"HS256",
"HS384",
"HS512"
],
"version": "3.0"
}
2.672969 JWKS: {
"keys": [
{
"e": "AQAB",
"kid": "XPvp",
"kty": "RSA",
"n": "29nkxanYPgpux2gKI269pAuDmQ-FJVIzc5TDUjwRHkOWjBUxdTmwu9g_FCQWAG5_As6umczakynH5i6B-hLAoYCYNZThD9AqWRj-kKtqDhHPBz1WYruO17NBiJsP4pqmN9abffRmSVSTwKmt3yqkoWLwCobiofo4q-etX-QJO5_5c4vG-FNDp-zSjXfMshK92dllH35umnROp0qidi-TsbfSZasgeddLJPbRG80dVSoBBqViT5mUy8Cu5VPlSeXthjnVWKvNugeuHlOgnuR310Nalg9ocapMRZ3F90xVeld8Qtc7LrDZLsuVrHkb2RGFRJ42qUE4wiXEEusuAfdnjw",
"use": "sig"
},
{
"crv": "P-256",
"kid": "SEGI",
"kty": "EC",
"use": "sig",
"x": "IB0jEtk1kESc0YXr59l_H4dYF66pOu6GDtsGHutFpFo",
"y": "N8QW2dVl3hdncKkvEks8ITeRTwXkQFg3mf_b4kQxID0"
},
{
"crv": "P-384",
"kid": "BB4g",
"kty": "EC",
"use": "sig",
"x": "jKEG_F8_i1DgPWQ641JPNXtARk0_eqKT_U80bap2IGc91TEzKI8CQjO8MymC2LiY",
"y": "avSOVF8Wf-yxkJGFmY3POkdGMTXgECkbcL0Vv3Uc7Ro9ssu9XsRXRcfFtHKnLXeS"
},
{
"crv": "P-521",
"kid": "fbSW",
"kty": "EC",
"use": "sig",
"x": "AYXvNe1V25gOusorgp8AHAFUNaEkmONOpVtYSuvk2v3OIy8HgIYeg6CGjwFwlEFCXwm6zRe-Ckzb71ZHKTd2--Sz",
"y": "APanwCboxQuQxmEllq1dSgVUsV6v_xHWinjhovd06s_LiReXOoWEOQERjz3_UpLj45enfr08a37mTOAvgVdeL6fM"
},
{
"e": "AQAB",
"kid": "Slbc",
"kty": "RSA",
"n": "toMIuWFSAdAqHUMNatz3UYyVAh_gg6mj2ktqxDLzv840yh5V-3f2Jsyr4Vgzt1wRTl8TD8VsVjOe217siCBKevquo4M7WsEZLHMx0eM_gB1u5nGEwXsElReVTFc3KblFsdxjTR2lPwVEjL8iuLhb-JNWt9dZFGV_g8lTRqp4fEUjDnheLKLZMnxxBy6J4HGGgOye-Yl4WCaiSjw2py6Jvio9VE-x-yorJAjH66fMwvoslnPzLMuARy21NsKjCWvtW36tisF1o0JI7sXzS8I8iTnNCD_tGLx-aEkoo_JDdOfjU1PLeBKqOV-0ZPT309nQRXKAXA9dxUj7PQoL9c-9dw",
"use": "sig"
},
{
"crv": "P-256",
"kid": "s7ek",
"kty": "EC",
"use": "sig",
"x": "Rr4kh9uK3hO1g-orV7eVO8X0uPPQ_u4-eYPCEgQ1xa0",
"y": "ECq1fmVC7mU7F7c0CTN7MCwDpWdFcbJF2zTg6EZK8Kg"
},
{
"crv": "P-384",
"kid": "lauH",
"kty": "EC",
"use": "sig",
"x": "QyWDd8kJoqzsXEWiCkUAzg11ntg_x7KKWLdVOS-GDw5GgbfLkUJytK16tGLZWGUI",
"y": "P4HM7uknJ64Teg1vrhYKvS_nrZFyh5CZDjH67hFsFaI3bfdWiU8duK4oYaPjnU6n"
},
{
"crv": "P-521",
"kid": "96Oc",
"kty": "EC",
"use": "sig",
"x": "AOE3yNXWAiguNjBduYIbCKR3I3fNX_LUFH8IKaePjeTxouKLMu7JYQwEMaa11Zhka0kmuusfixvm24fDppKAOvO3",
"y": "AUtg3p6hVIL5RZj4I7FjbjZtRfAd-laDdPx-Fw6qG0s2MMFHu05X9bRYduPbFaz-YJj4Zsa7PzCRwZgqc_lP4LuE"
}
]
}
2.691647 ------------ RegistrationRequest ------------
2.692064 --> URL: https://demo.c2id.com/c2id/clients
2.692072 --> BODY: {"subject_type": "public", "jwks_uri": "https://op.certification.openid.net:60784/export/jwk_60784.json", "contacts": ["roland.hedberg@umu.se"], "application_type": "web", "grant_types": ["authorization_code"], "post_logout_redirect_uris": ["https://op.certification.openid.net:60784/logout"], "redirect_uris": ["https://op.certification.openid.net:60784/authz_cb"], "response_types": ["code"], "require_auth_time": true, "default_max_age": 3600}
2.692084 --> HEADERS: {'Content-Type': 'application/json'}
3.096941 <-- STATUS: 200
3.097018 <-- BODY: {"post_logout_redirect_uris":["https:\/\/op.certification.openid.net:60784\/logout"],"grant_types":["authorization_code"],"subject_type":"public","default_max_age":3600,"application_type":"web","registration_client_uri":"https:\/\/demo.c2id.com\/c2id\/clients\/dvoncd4ztlpde","redirect_uris":["https:\/\/op.certification.openid.net:60784\/authz_cb"],"registration_access_token":"yG_WtfgBp4DljB0M1UIXrkkGG-npEz6IO_rqtP_BL3s.YSxpLHI","token_endpoint_auth_method":"client_secret_basic","client_id":"dvoncd4ztlpde","client_secret_expires_at":0,"require_auth_time":true,"client_id_issued_at":1481971817,"client_secret":"B9Y5Rp5Q544VdeBa0ojjq9oYpsVO9-u3PkTlAQHh3Xg","contacts":["roland.hedberg@umu.se"],"response_types":["code"],"id_token_signed_response_alg":"RS256"}
3.097897 RegistrationResponse: {
"application_type": "web",
"client_id": "dvoncd4ztlpde",
"client_id_issued_at": 1481971817,
"client_secret": "B9Y5Rp5Q544VdeBa0ojjq9oYpsVO9-u3PkTlAQHh3Xg",
"client_secret_expires_at": 0,
"contacts": [
"roland.hedberg@umu.se"
],
"default_max_age": 3600,
"grant_types": [
"authorization_code"
],
"id_token_signed_response_alg": "RS256",
"post_logout_redirect_uris": [
"https://op.certification.openid.net:60784/logout"
],
"redirect_uris": [
"https://op.certification.openid.net:60784/authz_cb"
],
"registration_access_token": "yG_WtfgBp4DljB0M1UIXrkkGG-npEz6IO_rqtP_BL3s.YSxpLHI",
"registration_client_uri": "https://demo.c2id.com/c2id/clients/dvoncd4ztlpde",
"require_auth_time": true,
"response_types": [
"code"
],
"subject_type": "public",
"token_endpoint_auth_method": "client_secret_basic"
}
3.118624 ------------ AuthorizationRequest ------------
3.119086 --> URL: https://demo.c2id.com/c2id-login-page-js?scope=openid&state=4s1bVmaQ5qfxYZrl&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A60784%2Fauthz_cb&response_type=code&client_id=dvoncd4ztlpde
3.119094 --> BODY: None
27.854436 <-- code=VB3Y5zRNUolgyieikKQh-A.ti2f4MsfEDzJRPuYiWJxTg&state=4s1bVmaQ5qfxYZrl
27.854876 AuthorizationResponse: {
"code": "VB3Y5zRNUolgyieikKQh-A.ti2f4MsfEDzJRPuYiWJxTg",
"state": "4s1bVmaQ5qfxYZrl"
}
27.855250 ------------ AccessTokenRequest ------------
27.855649 --> URL: https://demo.c2id.com/c2id/token
27.855657 --> BODY: code=VB3Y5zRNUolgyieikKQh-A.ti2f4MsfEDzJRPuYiWJxTg&grant_type=authorization_code&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A60784%2Fauthz_cb
27.855669 --> HEADERS: {'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': u'Basic ZHZvbmNkNHp0bHBkZTpCOVk1UnA1UTU0NFZkZUJhMG9qanE5b1lwc1ZPOS11M1BrVGxBUUhoM1hn'}
28.260282 <-- STATUS: 200
28.260359 <-- BODY: {"access_token":"eyJraWQiOiJYUHZwIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJhbGljZSIsInNjcCI6WyJvcGVuaWQiXSwiaXNzIjoiaHR0cHM6XC9cL2RlbW8uYzJpZC5jb21cL2MyaWQiLCJleHAiOjE0ODE5NzI0NDIsImlhdCI6MTQ4MTk3MTg0MiwidWlwIjp7fSwiY2lkIjoiZHZvbmNkNHp0bHBkZSJ9.MlcUbhQKiSnqN60ael_QFGNewbfFRpQ2vieRYEpDWUZLEqOhQjnn1oG7ZLnQokXXgoSAgkR2AWOuT2gSRNGL1lobeOUuSyz0lBM4L2sSHwMVlev-cTnCgtLt5dmAyajCwgODCNk5nJ-6OmmXUv5evBsODAMe_ym7H7LeHjV8Qg0b77XdHBCwbbSBH7Vmpb1azG2B6S5JSW0txvUM2_G22jigbNbdzm-Fh6gRiRENpBlIYavMUmVj56M0q32Ze5AHJldqle3a9x7XcmEJRvUpzSBl2gEOHcjsxJ0Bv1ul2ccRJtDr5Paugp3RUhx6HLelgLF8zpH1P3aAwfpO5dqH5g","refresh_token":"YWxpY2U.ZHZvbmNkNHp0bHBkZQ.nqOPBXbUJA2f9bJ_Go9-0A","scope":"openid","id_token":"eyJraWQiOiJYUHZwIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJhbGljZSIsImF1ZCI6ImR2b25jZDR6dGxwZGUiLCJhY3IiOiJodHRwOlwvXC9sb2EuYzJpZC5jb21cL2Jhc2ljIiwiYW1yIjpbInB3ZCJdLCJhdXRoX3RpbWUiOjE0ODE5NzE3NzgsImJyb3dzZXIiOiJOZXRzY2FwZSIsImlzcyI6Imh0dHBzOlwvXC9kZW1vLmMyaWQuY29tXC9jMmlkIiwiZXhwIjoxNDgxOTcyNDQxLCJpYXQiOjE0ODE5NzE4NDEsImxvZ2luX2lwIjoiMTAuMjAuMzAuNDAifQ.mLuP-D-6YNdaOtNKuVOo7Ob2avxxZnqtWFDB3uXhO0L2Z4BiwayEt2aeSNMuNrMLUatjATt2pnSrNgQr0SuKFiGC42ugXKgbdYs_XvE9-fji_DD8dcPSfvhWGXLzS7wrewg2xYTw8ioit2zO5sZReVrLh6i9TPlIPQo30ekk64k7WhlMXFb5rdUCASVmbYZZhrBE4l1cQrQJV7GDUqes-kgj6GN90VDEmzDTV6snsSNjnJwagiU_2hMOb4yB-TSqsaXuIKNUxAtD5dzrLSsx8YutxwHGv6yM76ZOJvF1JZCCmF49VgE2PhEHpiHGnraFckL1dFCGAIHQYtmh19OKeg","token_type":"Bearer","expires_in":600}
28.637474 AccessTokenResponse: {
"access_token": "eyJraWQiOiJYUHZwIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJhbGljZSIsInNjcCI6WyJvcGVuaWQiXSwiaXNzIjoiaHR0cHM6XC9cL2RlbW8uYzJpZC5jb21cL2MyaWQiLCJleHAiOjE0ODE5NzI0NDIsImlhdCI6MTQ4MTk3MTg0MiwidWlwIjp7fSwiY2lkIjoiZHZvbmNkNHp0bHBkZSJ9.MlcUbhQKiSnqN60ael_QFGNewbfFRpQ2vieRYEpDWUZLEqOhQjnn1oG7ZLnQokXXgoSAgkR2AWOuT2gSRNGL1lobeOUuSyz0lBM4L2sSHwMVlev-cTnCgtLt5dmAyajCwgODCNk5nJ-6OmmXUv5evBsODAMe_ym7H7LeHjV8Qg0b77XdHBCwbbSBH7Vmpb1azG2B6S5JSW0txvUM2_G22jigbNbdzm-Fh6gRiRENpBlIYavMUmVj56M0q32Ze5AHJldqle3a9x7XcmEJRvUpzSBl2gEOHcjsxJ0Bv1ul2ccRJtDr5Paugp3RUhx6HLelgLF8zpH1P3aAwfpO5dqH5g",
"expires_in": 600,
"id_token": {
"claims": {
"acr": "http://loa.c2id.com/basic",
"amr": [
"pwd"
],
"aud": [
"dvoncd4ztlpde"
],
"auth_time": 1481971778,
"browser": "Netscape",
"exp": 1481972441,
"iat": 1481971841,
"iss": "https://demo.c2id.com/c2id",
"login_ip": "10.20.30.40",
"sub": "alice"
},
"jws header parameters": {
"alg": "RS256",
"kid": "XPvp"
}
},
"refresh_token": "YWxpY2U.ZHZvbmNkNHp0bHBkZQ.nqOPBXbUJA2f9bJ_Go9-0A",
"scope": "openid",
"token_type": "Bearer"
}
58.719147 ------------ AccessTokenRequest ------------
58.719599 --> URL: https://demo.c2id.com/c2id/token
58.719607 --> BODY: code=VB3Y5zRNUolgyieikKQh-A.ti2f4MsfEDzJRPuYiWJxTg&grant_type=authorization_code&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A60784%2Fauthz_cb
58.719622 --> HEADERS: {'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': u'Basic ZHZvbmNkNHp0bHBkZTpCOVk1UnA1UTU0NFZkZUJhMG9qanE5b1lwc1ZPOS11M1BrVGxBUUhoM1hn'}
59.105097 <-- STATUS: 400
59.105235 ErrorResponse: {
"error": "invalid_grant",
"error_description": "Invalid or expired authorization code, redirection URI mismatch, or PKCE verification failure"
}
59.122890 ==== END ====
Result
PASSED