我在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 回答
你有什么可能是正确的OAuth 2.0,但对于普通的JWT它更简单 . 当您使用普通的自制JWT时,客户端会将令牌放在名为Authorization的HTTP头上 . Headers 的值是这样的
Headers 字段也可以被调用 . 服务器和客户端必须就名称达成一致 . 授权只是最常见的名称 .
服务器通常会通过响应登录 endpoints 上的POST请求来发出令牌 . 登录成功后,令牌可以是响应正文的一部分 . 客户端将存储令牌,并使用上面的标头为每个请求发送令牌 . 您可以忘记与访问令牌和刷新令牌有关的所有内容 . 当使用“普通”基本JWT时,您将只有一个令牌,这是Bearer之后的值 .
当用户注册时,我没有看到任何理由发出令牌 . 他们在注册后登录时可以获得它 .
如果您只是实施普通身份验证,我建议您阅读RFC上的this for OAuth .