OAuth 2.0 RFC 6749 Content-Type application/json 是否符合规范?

OAuth 2.0 RFC 6749 Content-Type application/json is compliant with Spec?

我有一个符合 OAuth2.0 和 RFC 6749 标准的应用程序。

我现在需要扩展行为,以便新的 RP 将调用我的 /auth 端点并且它期望包含我的 auth_ref 的响应,因此我认为而不是默认的 [=12] =] 格式,我应该在请求中使用 application/json 。这有两个原因:

  1. 如果请求来自网络浏览器,我不需要更改我现有的带有登录页面响应的 http 网络重定向行为
  2. 我可以扩展系统以满足新 RP 的需求,该 RP 需要包含 auth_ref 等内容的 JSON 响应

Q1。该规范是否合规?根据我的理解RFC

Q2。我正在考虑的另一种选择是只公开一个不同的端点 /authz

Q3。还考虑在同一 /auth 端点上向请求添加新参数的可能性。这也会变得不符合规范吗?或者它会被视为规范的扩展吗?如果我延长它有什么影响吗?

提前致谢。

如果您的 /auth 是 RFC 6749 中定义的 授权端点 ,则使用 application/json 作为内容类型是违反规范的请求.

另一方面,允许在响应中包含额外的参数。以下是 RFC 6749 的摘录。您可以在响应 JSON.

中看到 example_parameter
 HTTP/1.1 200 OK
 Content-Type: application/json;charset=UTF-8
 Cache-Control: no-store
 Pragma: no-cache

 {
   "access_token":"2YotnFZFEjr1zCsicMWpAA",
   "token_type":"example",
   "expires_in":3600,
   "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA",
   "example_parameter":"example_value"
 }

像上面一样,您可以在回复中包含 auth_req。它符合 RFC 6749。

一个授权端点接受application/x-www-form-urlencoded并用302 FoundLocation头响应。 令牌端点接受application/x-www-form-urlencoded并用200 OKapplication/json响应。有关详细信息,请参阅 "Diagrams And Movies Of All The OAuth 2.0 Flows"