服务器如何将JWT令牌返回给客户端?

use*_*018 5 java authentication http-headers oauth-2.0 jwt

这是我第一次遇到JWT令牌,我想知道这个令牌在首次创建后如何返回给客户端。

它应该进来Authorization : Bearer header吗?

通常,是客户端Authorization : Bearer header在每个请求中传递令牌。
我想知道在用户通过身份验证并创建令牌后,服务器如何将该令牌传递给客户端。还在同一标题中吗?在不同的标题中?

在我的情况下,服务器将不作为响应而是作为请求的一部分来生成令牌。

例如:-

用户将登录到门户,然后单击指向授权应用程序的链接。包含用户声明的JWT将作为请求的一部分传递到授权的应用程序。
最好的方法是什么?GET还是POST?标头(哪个)?请求参数?POST正文?谢谢!

Hey*_*ude 9

人们可能有兴趣知道OAuth 2.0 标准为此目的指定了响应正文:

5.1. 成功回应

授权服务器发出访问令牌和可选的刷新令牌,并通过将以下参数添加到带有 200(OK)状态代码的 HTTP 响应的实体主体来构造响应:

access_token
必需的。授权服务器颁发的访问令牌。
[...]


小智 7

没有有关如何将JWT令牌返回给客户端的标准,但是,请检查此URL,它会回答您的问题

https://github.com/dwyl/hapi-auth-jwt2/issues/82#issuecomment-129873082

将JWT令牌放在Authorization标头中,使我们可以灵活地在Web应用程序中发送实际响应。对于仅REST的App / API,您可以自由发送JWT作为响应正文或cookie。重要的是客户端如何存储JWT并将其发送回服务器,这在Authorization标头(或Cookie或URL令牌,如果您愿意)中完成

至于“狂野”中存在的这种情况,我还没有看到服务器向客户端发送Authorization标头的示例,但是规范中没有任何内容表明这是一种反模式。参见:http : //self-issued.info/docs/draft-ietf-oauth-v2-bearer.html

如果您要遵循准则,请遵循以下示例:http : //self-issued.info/docs/draft-ietf-oauth-v2-bearer.html#ExAccTokResp