首页 文章

承载(JWT)验证方案的Authentication-Info标头

提问于
浏览
0

我在REST API中使用JWT承载认证方案 . 为了在成功验证后将jwt令牌返回给客户端,目前我正在使用https://tools.ietf.org/html/rfc6750#page-10中所述的正文中的访问令牌响应

{
   "access_token":"mF_9.B5f-4.1JqM",
   "token_type":"Bearer",
   "expires_in":3600,
   "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA"
 }

但是需要在其他HTTP请求中返回令牌,就像身份已经存在的注册一样 . 所以,正考虑使用"Authentication-Info"标头 . 但是Bearer Scheme没有在任何地方指定"Authentication-Info"标头 . 我应该使用Authentication-Info标头返回jwt令牌吗?

不使用OAuth 2.0,只使用JWT .

1 回答

  • 0

    你有什么可能是正确的OAuth 2.0,但对于普通的JWT它更简单 . 当您使用普通的自制JWT时,客户端会将令牌放在名为Authorization的HTTP头上 . Headers 的值是这样的

    Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
    

    Headers 字段也可以被调用 . 服务器和客户端必须就名称达成一致 . 授权只是最常见的名称 .

    服务器通常会通过响应登录 endpoints 上的POST请求来发出令牌 . 登录成功后,令牌可以是响应正文的一部分 . 客户端将存储令牌,并使用上面的标头为每个请求发送令牌 . 您可以忘记与访问令牌和刷新令牌有关的所有内容 . 当使用“普通”基本JWT时,您将只有一个令牌,这是Bearer之后的值 .

    当用户注册时,我没有看到任何理由发出令牌 . 他们在注册后登录时可以获得它 .

    如果您只是实施普通身份验证,我建议您阅读RFC上的this for OAuth .

相关问题