devise vs. devise_token_auth:如何处理Web应用程序和API的身份验证

时间:2017-11-17 18:46:03

标签: ruby-on-rails authentication devise ruby-on-rails-5 devise-token-auth

我正在编写一个主要通过API访问的应用程序,但也可以通过Web应用程序进行编辑。

我想在两个平台上创建一个具有身份验证和授权的用户模型。

我无法理解devise和devise_token_auth库之间的关系,除了前者推荐用于大多数rails应用程序,后者非常适合仅API身份验证。

对于我的情况,使用什么是合适的库,或者我应该同时使用它们?我应该通过设计生成用户模型,然后添加令牌身份验证吗?两个系统都使用不同的身份验证方案我只是想了解为什么devise_token_auth除了设计之外还存在。

我对基于令牌的身份验证增加的复杂性感到有些困惑。简单地通过设计注册和管理用户,为他们生成API密钥,然后让他们用它来签署他们的API请求会有什么问题。为什么在API中需要基于令牌的身份验证?

1 个答案:

答案 0 :(得分:1)

devise_token_auth是一种高级API身份验证方法,可能会或可能不会对您的应用程序造成过大的影响。基本上是new token is generated for each API request

根据您的需求,您可能没有基于令牌的身份验证,甚至可能是HTTP Basic身份验证,它可以开箱即用。