看似看门人gem假定您有一个会话,可以从中提取当前用户。至少我从配置方法resource_owner_authenticator得到的印象是这样的。这是正确的吗?
我希望实现一个无状态(无会话)的REST only rails应用程序,其中用户状态保存在签名的JWT访问令牌中,并在每次请求时由客户端传递给服务器。我使用access_token_generator为密码授予流生成签名的JWT。
此外,doorkeeper_authorize!在数据库中查找访问令牌,以对每个请求进行身份验证并检查令牌过期。我更喜欢简单地检查JWT签名的有效性,然后使用JWT有效负载中的exp claim验证JWT没有过期。
可以将JWT访问令牌以这种方式与doorkeeper一起使用吗?也许我遗漏了一些明显的东西。我已经看过doorkeeper-jwt了,但它并没有解决这些问题。
发布于 2015-12-18 09:39:35
如果您使用的是JWT,为什么还要在API服务器中包含Doorkeeper呢?相反,只需编写一个从API调用的头部获取JWT并使用其中的信息来决定调用是否有效和允许的before过滤器即可。我们将在所有API调用中将用户拥有的角色放入JWT中,并基于角色进行决策。您还可以使用JWT中的作用域来做出决定。
https://stackoverflow.com/questions/34101664
复制相似问题