java - 服务器如何将 JWT 令牌返回给客户端?
问题描述
这是我第一次遇到 JWT 令牌,我想知道这个令牌在第一次创建后是如何返回给客户端的。
它应该进来Authorization : Bearer header
吗?
Authorization : Bearer header
通常,是客户端在每个请求中传递令牌。
我想知道在用户通过身份验证并创建令牌后服务器如何将此令牌传递给客户端。也在同一个标题中?在不同的标题中?
在我的情况下,服务器将生成令牌,而不是作为响应,而是作为请求的一部分。
例如:-
用户将登录到门户,然后单击指向授权应用程序的链接。包含用户声明的 JWT 将作为请求的一部分传递给授权的应用程序。
这里最好的方法是什么?获取还是发布?标题(哪个)?请求参数?发布身体?谢谢!
解决方案
没有关于如何将 JWT 令牌返回给客户端的标准,但是,检查这个 URL,它回答了你的问题
https://github.com/dwyl/hapi-auth-jwt2/issues/82#issuecomment-129873082
将 JWT 令牌放在 Authorization 标头中使我们能够灵活地在 Web 应用程序中发送实际响应。对于纯 REST 应用程序/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
推荐阅读
- angular - Angular Caching 通过拦截器变得简单,但不是针对每个请求,仅通过布尔值
- javascript - 如何在没有配置文件的情况下修复导入/导出 babel-eslint?
- python - Python Selenium:无法找出跨度标记中可点击链接元素的xpath
- git - git pull request 被批准后,两位作者
- javascript - 如何在页面加载时加载 Javascript
- arraylist -
- c# - 如何根据技能和出勤率查询基地总人数?
- java - 为什么我的图像没有从我的 JSON 文件加载?
- android - 如何根据信号对 WifiManager 中的 ScanResult 进行排序?
- java - 如何使用 SQL db 保护用户的注册输入?