Test info

Profile: {'openid-configuration': 'config', 'response_type': 'code+id_token+token', 'crypto': 'none+sign', 'registration': 'static'}
Timestamp: 2017-05-30T12:53:28Z
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://is.biocryptology.net/

Test output


__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


2.155369 ------------ DiscoveryRequest ------------
2.155388 Provider info discover from 'https://is.biocryptology.net'
2.155394 --> URL: https://is.biocryptology.net/.well-known/openid-configuration
2.736699 ProviderConfigurationResponse: {
  "authorization_endpoint": "https://is.biocryptology.net/V1/auth",
  "check_session_iframe": "http://default.com",
  "claims_parameter_supported": false,
  "claims_supported": [
    "sub",
    "website",
    "zoneinfo",
    "email_verified",
    "birthdate",
    "address",
    "gender",
    "profile",
    "iss",
    "phone_number_verified",
    "given_name",
    "middle_name",
    "locale",
    "picture",
    "updated_at",
    "auth_time",
    "name",
    "nickname",
    "phone_number",
    "family_name",
    "prefered_username",
    "email"
  ],
  "end_session_endpoint": "https://is.biocryptology.net/V1/end",
  "grant_types_supported": [
    "authorization_code",
    "implicit"
  ],
  "id_token_signing_alg_values_supported": [
    "ES512",
    "ES384",
    "ES256",
    "RS512",
    "RS384",
    "RS256",
    "HS512",
    "HS384",
    "HS256"
  ],
  "issuer": "https://is.biocryptology.net/",
  "jwks_uri": "https://is.biocryptology.net/V1/jwks",
  "registration_endpoint": "http://default.com",
  "request_object_encryption_alg_values_supported": [
    "RSA-OAEP",
    "RSA1_5"
  ],
  "request_object_encryption_enc_values_supported": [
    "A256GCM",
    "A256CBC-HS512",
    "A256CBC-HS384",
    "A256CBC-HS256",
    "A256CBC",
    "A128GCM",
    "A128CBC-HS512",
    "A128CBC-HS384",
    "A128CBC-HS256",
    "A128CBC"
  ],
  "request_parameter_supported": true,
  "request_uri_parameter_supported": false,
  "require_request_uri_registration": false,
  "response_modes_supported": [
    "fragment",
    "query",
    "form_post"
  ],
  "response_types_supported": [
    "code",
    "id_token",
    "id_token token",
    "code id_token",
    "code token",
    "code id_token token"
  ],
  "revocation_endpoint": "http://default.com",
  "scopes_supported": [
    "email",
    "profile",
    "phone",
    "openid",
    "address"
  ],
  "service_documentation": "http://default.com",
  "subject_types_supported": [
    "public"
  ],
  "token_endpoint": "https://is.biocryptology.net/V1/token",
  "token_endpoint_auth_methods_supported": [
    "client_secret_basic",
    "client_secret_post"
  ],
  "userinfo_endpoint": "https://is.biocryptology.net/V1/userinfo",
  "version": "3.0"
}
3.303275 JWKS: {
  "keys": [
    {
      "alg": "RS256",
      "e": "AQAB",
      "kid": "MNW3_u22nAteMK20TYs1Cw",
      "kty": "RSA",
      "n": "AI_uKVNJfjEOoKUePXV46VX3dTuL0LrWKmEGbxCJSu6N9PXgeTA3gsM5DVrN9csD6mGcb_Oi1jbEc8duis6JLRXYGT-_ZsVZi2M2Yx1FInuukIP9ZgOdNfPA1ANvkKyoG4QNUzG5cgxDmeP-UikzjGYObzWEFHb9CT_l-yBTgPt_",
      "use": "sig"
    },
    {
      "alg": "RS256",
      "e": "AQAB",
      "kid": "auG8aS4okJqDRIY2eLD9fA",
      "kty": "RSA",
      "n": "AMRaFFJr_TQ1-XB5JzZ0iF1d2wEeAuxe4ZjjVgbDYwvbyfidZnpfn-lUbzxxVVJj6ItQTNVz3tsGaBM4rwqFH_qDlap84wLv1vjLONLEZDa2xIXiTlA0fvyPuIJcEE1cm9OY36jPhueoA40MRMdXiOU5gfr5wlJtUCLICexV5i-X",
      "use": "sig"
    },
    {
      "alg": "RS256",
      "e": "AQAB",
      "kid": "r61PR-erDJljxqEv01Sm0g",
      "kty": "RSA",
      "n": "AJVG_Q0e2y6QQAfXowHQBNrZ2bKSbJ094oqTXJgqClG8jHkE1GMnuHORqap5PvCnbO47Mhm18aTTsdrodJC4SVLSCQtVnIhRzV8OHYfkZgHV16tUNcsBPMF-sYnfD7J9UtC7eify6dZPMqM0Bf2EK09fdvJpCmD7pxY5TDVo3inb",
      "use": "sig"
    }
  ]
}
3.313411 ------------ AuthorizationRequest ------------
3.315423 --> URL: https://is.biocryptology.net/V1/auth?nonce=XBC7MJscaU6m&state=FgU8jzBkipr8zlxP&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61022%2Fauthz_cb&response_type=code+id_token+token&client_id=swipe&scope=openid
3.315432 --> BODY: None
3.614292 QUERY_STRING:
4.199544 <-- state=FgU8jzBkipr8zlxP&access_token=-ubV3XEdnpHfa_OJei7VjQ&token_type=Bearer&expires_in=3600&code=LKChzuGOhaVVFoSMKhkzOQ&id_token=eyJhbGciOiJSUzI1NiIsImtpZCI6InI2MVBSLWVyREpsanhxRXYwMVNtMGcifQ.eyJhY3IiOiIwIiwiYXVkIjoic3dpcGUiLCJhdXRoX3RpbWUiOjE0OTYxNDg3ODQsImF6cCI6InN3aXBlIiwiYXRfaGFzaCI6IjZkNWtkZmFJMDQwOWVIVFRIV3pHZFEiLCJjX2hhc2giOiJKY3VVX2dLNG5PSjFZdF9XZGEzbTlBIiwiaWF0IjoxNDk2MTQ4Nzg0LCJleHAiOjE0OTYxNTIzODQsImlzcyI6Imh0dHBzOi8vaXMuYmlvY3J5cHRvbG9neS5uZXQvIiwibm9uY2UiOiJYQkM3TUpzY2FVNm0iLCJzdWIiOiJNUSJ9.BzSwIDP5gcw-g1dLTmFFornMt9eeTurfrr7WpWjrLqVtRLb59a6kPNsOZmIzptBO56zimxyo2MC49UYpY6Yh_l0Mh993SJkmztqsC920PcP2ImwJFa2eJ5B7Fx_CpCRC9wixXZSO4OiuZRx3uz_cPgycpEB-i8iWS8dLbH1fbXs
4.777509 AuthorizationResponse: {
  "access_token": "-ubV3XEdnpHfa_OJei7VjQ",
  "code": "LKChzuGOhaVVFoSMKhkzOQ",
  "expires_in": 3600,
  "id_token": {
    "claims": {
      "acr": "0",
      "at_hash": "6d5kdfaI0409eHTTHWzGdQ",
      "aud": [
        "swipe"
      ],
      "auth_time": 1496148784,
      "azp": "swipe",
      "c_hash": "JcuU_gK4nOJ1Yt_Wda3m9A",
      "exp": 1496152384,
      "iat": 1496148784,
      "iss": "https://is.biocryptology.net/",
      "nonce": "XBC7MJscaU6m",
      "sub": "MQ"
    },
    "jws header parameters": {
      "alg": "RS256",
      "kid": "r61PR-erDJljxqEv01Sm0g"
    }
  },
  "state": "FgU8jzBkipr8zlxP",
  "token_type": "Bearer"
}
4.778056 ------------ AccessTokenRequest ------------
4.779944 --> URL: https://is.biocryptology.net/V1/token
4.779956 --> BODY: code=LKChzuGOhaVVFoSMKhkzOQ&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61022%2Fauthz_cb&grant_type=authorization_code&state_hash=HR_YjZKhe4xqbV9rIpg6MG3hpxdcFXCIPzoTrYIgEHQ%3D
4.779968 --> HEADERS: {'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'Basic c3dpcGU6c3dpcGU='}
5.370159 <-- STATUS: 200
5.370296 <-- BODY: {"access_token":"-ubV3XEdnpHfa_OJei7VjQ","expires_in":3600,"refresh_token":"dgTUkyEtDYW26YBB6Zf-EA","scope":"openid","token_type":"Bearer","id_token":"eyJhbGciOiJSUzI1NiIsImtpZCI6InI2MVBSLWVyREpsanhxRXYwMVNtMGcifQ.eyJhY3IiOiIwIiwiYXVkIjoic3dpcGUiLCJhdXRoX3RpbWUiOjE0OTYxNDg3ODQsImF6cCI6InN3aXBlIiwiYXRfaGFzaCI6IjZkNWtkZmFJMDQwOWVIVFRIV3pHZFEiLCJjX2hhc2giOiJKY3VVX2dLNG5PSjFZdF9XZGEzbTlBIiwiaWF0IjoxNDk2MTQ4Nzg0LCJleHAiOjE0OTYxNTIzODQsImlzcyI6Imh0dHBzOi8vaXMuYmlvY3J5cHRvbG9neS5uZXQvIiwibm9uY2UiOiJYQkM3TUpzY2FVNm0iLCJzdWIiOiJNUSJ9.BzSwIDP5gcw-g1dLTmFFornMt9eeTurfrr7WpWjrLqVtRLb59a6kPNsOZmIzptBO56zimxyo2MC49UYpY6Yh_l0Mh993SJkmztqsC920PcP2ImwJFa2eJ5B7Fx_CpCRC9wixXZSO4OiuZRx3uz_cPgycpEB-i8iWS8dLbH1fbXs"}
5.377985 AccessTokenResponse: {
  "access_token": "-ubV3XEdnpHfa_OJei7VjQ",
  "expires_in": 3600,
  "id_token": {
    "claims": {
      "acr": "0",
      "at_hash": "6d5kdfaI0409eHTTHWzGdQ",
      "aud": [
        "swipe"
      ],
      "auth_time": 1496148784,
      "azp": "swipe",
      "c_hash": "JcuU_gK4nOJ1Yt_Wda3m9A",
      "exp": 1496152384,
      "iat": 1496148784,
      "iss": "https://is.biocryptology.net/",
      "nonce": "XBC7MJscaU6m",
      "sub": "MQ"
    },
    "jws header parameters": {
      "alg": "RS256",
      "kid": "r61PR-erDJljxqEv01Sm0g"
    }
  },
  "refresh_token": "dgTUkyEtDYW26YBB6Zf-EA",
  "scope": "openid",
  "token_type": "Bearer"
}
35.415258 ------------ AccessTokenRequest ------------
35.417197 --> URL: https://is.biocryptology.net/V1/token
35.417210 --> BODY: code=LKChzuGOhaVVFoSMKhkzOQ&redirect_uri=https%3A%2F%2Fop.certification.openid.net%3A61022%2Fauthz_cb&grant_type=authorization_code&state_hash=HR_YjZKhe4xqbV9rIpg6MG3hpxdcFXCIPzoTrYIgEHQ%3D
35.417224 --> HEADERS: {'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'Basic c3dpcGU6c3dpcGU='}
36.054533 <-- STATUS: 400
36.054761 ErrorResponse: {
  "error": "access_denied",
  "error_description": "Code is invalid",
  "error_uri": null
}
36.064480 ==== END ====

Result

PASSED