[ { "id": "missing-grant-type", "path": "/oauth/token", "method": "POST", "expected_status": 400, "form": {}, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "unsupported_grant_type", "/error_description": "The authorization grant type is not supported by the authorization server.", "/hint": "Check that all required parameters have been provided" } }, { "id": "unsupported-grant-empty", "path": "/oauth/token", "method": "POST", "expected_status": 400, "form": { "grant_type": "" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "unsupported_grant_type", "/error_description": "The authorization grant type is not supported by the authorization server.", "/hint": "Check that all required parameters have been provided" } }, { "id": "unsupported-grant-bogus", "path": "/oauth/token", "method": "POST", "expected_status": 400, "form": { "grant_type": "bogus" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "unsupported_grant_type", "/error_description": "The authorization grant type is not supported by the authorization server.", "/hint": "Check that all required parameters have been provided" } }, { "id": "unsupported-grant-password", "path": "/oauth/token", "method": "POST", "expected_status": 400, "form": { "grant_type": "password" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "unsupported_grant_type", "/error_description": "The authorization grant type is not supported by the authorization server.", "/hint": "Check that all required parameters have been provided" } }, { "id": "unsupported-grant-implicit", "path": "/oauth/token", "method": "POST", "expected_status": 400, "form": { "grant_type": "implicit" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "unsupported_grant_type", "/error_description": "The authorization grant type is not supported by the authorization server.", "/hint": "Check that all required parameters have been provided" } }, { "id": "unsupported-grant-personal_access", "path": "/oauth/token", "method": "POST", "expected_status": 400, "form": { "grant_type": "personal_access" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "unsupported_grant_type", "/error_description": "The authorization grant type is not supported by the authorization server.", "/hint": "Check that all required parameters have been provided" } }, { "id": "device-grant-missing-client", "path": "/oauth/token", "method": "POST", "expected_status": 400, "form": { "grant_type": "urn:ietf:params:oauth:grant-type:device_code" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "invalid_request", "/error_description": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed.", "/hint": "Check the `client_id` parameter" } }, { "id": "missing-client-client_credentials", "path": "/oauth/token", "method": "POST", "expected_status": 400, "form": { "grant_type": "client_credentials" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "invalid_request", "/error_description": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed.", "/hint": "Check the `client_id` parameter" } }, { "id": "unknown-client-client_credentials", "path": "/oauth/token", "method": "POST", "expected_status": 401, "form": { "grant_type": "client_credentials", "client_id": "999999", "client_secret": "synthetic-invalid-secret" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "invalid_client", "/error_description": "Client authentication failed" } }, { "id": "missing-client-authorization_code", "path": "/oauth/token", "method": "POST", "expected_status": 400, "form": { "grant_type": "authorization_code" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "invalid_request", "/error_description": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed.", "/hint": "Check the `client_id` parameter" } }, { "id": "unknown-client-authorization_code", "path": "/oauth/token", "method": "POST", "expected_status": 401, "form": { "grant_type": "authorization_code", "client_id": "999999", "client_secret": "synthetic-invalid-secret" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "invalid_client", "/error_description": "Client authentication failed" } }, { "id": "missing-client-refresh_token", "path": "/oauth/token", "method": "POST", "expected_status": 400, "form": { "grant_type": "refresh_token" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "invalid_request", "/error_description": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed.", "/hint": "Check the `client_id` parameter" } }, { "id": "unknown-client-refresh_token", "path": "/oauth/token", "method": "POST", "expected_status": 401, "form": { "grant_type": "refresh_token", "client_id": "999999", "client_secret": "synthetic-invalid-secret" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "invalid_client", "/error_description": "Client authentication failed" } }, { "id": "json-unsupported", "path": "/oauth/token", "method": "POST", "expected_status": 400, "json": { "grant_type": "bogus" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "unsupported_grant_type", "/error_description": "The authorization grant type is not supported by the authorization server.", "/hint": "Check that all required parameters have been provided" } }, { "id": "json-null-grant", "path": "/oauth/token", "method": "POST", "expected_status": 400, "json": { "grant_type": null }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "unsupported_grant_type", "/error_description": "The authorization grant type is not supported by the authorization server.", "/hint": "Check that all required parameters have been provided" } }, { "id": "json-array-grant", "path": "/oauth/token", "method": "POST", "expected_status": 400, "json": { "grant_type": [ "client_credentials" ] }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "unsupported_grant_type", "/error_description": "The authorization grant type is not supported by the authorization server.", "/hint": "Check that all required parameters have been provided" } }, { "id": "json-unknown-client", "path": "/oauth/token", "method": "POST", "expected_status": 401, "json": { "grant_type": "client_credentials", "client_id": 999999, "client_secret": "synthetic-invalid-secret" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "invalid_client", "/error_description": "Client authentication failed" } }, { "id": "malformed-basic-missing-client", "path": "/oauth/token", "method": "POST", "expected_status": 400, "form": { "grant_type": "client_credentials" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "invalid_request", "/error_description": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed.", "/hint": "Check the `client_id` parameter" }, "headers": { "Authorization": "Basic not-base64" } }, { "id": "basic-unknown-client", "path": "/oauth/token", "method": "POST", "expected_status": 401, "form": { "grant_type": "client_credentials" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": "Basic realm=\"OAuth\"", "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "invalid_client", "/error_description": "Client authentication failed" }, "headers": { "Authorization": "Basic OTk5OTk5OnN5bnRoZXRpYy1pbnZhbGlkLXNlY3JldA==" } }, { "id": "bearer-header-unknown-client", "path": "/oauth/token", "method": "POST", "expected_status": 401, "form": { "grant_type": "client_credentials", "client_id": "999999" }, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": "Bearer realm=\"OAuth\"", "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "invalid_client", "/error_description": "Client authentication failed" }, "headers": { "Authorization": "Bearer synthetic-invalid" } }, { "path": "/oauth/token", "method": "POST", "expected_status": 400, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "unsupported_grant_type", "/error_description": "The authorization grant type is not supported by the authorization server.", "/hint": "Check that all required parameters have been provided" }, "id": "json-top-array", "json": [] }, { "path": "/oauth/token", "method": "POST", "expected_status": 400, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "unsupported_grant_type", "/error_description": "The authorization grant type is not supported by the authorization server.", "/hint": "Check that all required parameters have been provided" }, "id": "json-top-number", "json": 42 }, { "path": "/oauth/token", "method": "POST", "expected_status": 400, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "unsupported_grant_type", "/error_description": "The authorization grant type is not supported by the authorization server.", "/hint": "Check that all required parameters have been provided" }, "id": "json-top-nonempty-array", "json": [ "bogus" ] }, { "path": "/oauth/token", "method": "POST", "expected_status": 400, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/message": "Bad request." }, "id": "json-malformed", "raw": "{", "headers": { "Content-Type": "application/json" } }, { "path": "/oauth/token", "method": "POST", "expected_status": 400, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/message": "Bad request." }, "id": "json-top-null", "raw": "null", "headers": { "Content-Type": "application/json" } }, { "path": "/oauth/token", "method": "POST", "expected_status": 400, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "unsupported_grant_type", "/error_description": "The authorization grant type is not supported by the authorization server.", "/hint": "Check that all required parameters have been provided" }, "id": "json-empty-body", "raw": "", "headers": { "Content-Type": "application/json" } }, { "path": "/oauth/token", "method": "POST", "expected_status": 400, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "unsupported_grant_type", "/error_description": "The authorization grant type is not supported by the authorization server.", "/hint": "Check that all required parameters have been provided" }, "id": "form-scalar-then-array", "raw": "grant_type=bogus&grant_type[]=client_credentials", "headers": { "Content-Type": "application/x-www-form-urlencoded" } }, { "path": "/oauth/token", "method": "POST", "expected_status": 400, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "unsupported_grant_type", "/error_description": "The authorization grant type is not supported by the authorization server.", "/hint": "Check that all required parameters have been provided" }, "id": "form-array-then-scalar", "raw": "grant_type[]=client_credentials&grant_type=bogus", "headers": { "Content-Type": "application/x-www-form-urlencoded" } }, { "path": "/oauth/token", "method": "POST", "expected_status": 400, "compare_headers": [ "Cache-Control", "Pragma", "WWW-Authenticate", "X-RateLimit-Limit" ], "expected_headers": { "Cache-Control": "no-cache, private", "Pragma": null, "WWW-Authenticate": null, "X-RateLimit-Limit": "60" }, "expected_json": { "/error": "invalid_request", "/hint": "Check the `client_id` parameter" }, "id": "unicode-trimmed-grant", "json": { "grant_type": " client_credentials" } } ]