【发布时间】:2018-05-24 01:14:09
【问题描述】:
我正在尝试使用 devise_token_auth (https://github.com/lynndylanhurley/devise_token_auth#conceptual) 在 Rails 中实现基于令牌的授权。
当我针对sign_in 方法发布uid 和password 时,它会在标题中返回access-token、client(和uid 本身)。我了解基于令牌的授权是这样工作的:
- 用户将
uid(id) 和password发布到 api 服务器。 - Api 服务器验证
uid和password - 如果
uid和password匹配,则颁发令牌并返回它。 - 客户端收到令牌。
- 客户端每当客户端想要访问认证所需的api时,客户端使用
uid和Token来证明这个客户端实际上已经被认证了。
我可以理解access-token对应上面解释中描述的Token。这让我想到了 client 标头值是什么,因为根据官方 Wiki (https://github.com/lynndylanhurley/devise_token_auth#usage-tldr),devise_auth_token 库似乎不仅使用需要 access-token,而且还使用 client 值。
问题:
- 在 devise_token_auth 中,
client标头值的用途是什么?为什么还需要它来识别用户?不能将其包含在(或连接到)access-token值中吗?
【问题讨论】:
标签: ruby-on-rails devise devise-token-auth