ruby-on-rails - 设计与 devise_token_auth : How to handle authentication for both a web app and API

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

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

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

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

就我而言,要使用的适当库是什么,还是应该同时使用两者?我应该通过设计生成用户模型,然后向其中添加 token 身份验证吗?两个系统是否使用不同的身份验证方案?我只是想了解为什么 devise_token_auth 除了设计之外还存在。

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

最佳答案

devise_token_auth是一种先进的 API 身份验证方法,对于您的应用程序可能会也可能不会过度杀伤。本质上,一个 new token is generated for each API request .

根据您的需求,您可以使用基于 token 的身份验证,或者甚至 HTTP 基本身份验证,它的设计支持开箱即用。

关于ruby-on-rails - 设计与 devise_token_auth : How to handle authentication for both a web app and API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47357332/

相关文章:

ruby-on-rails - Rails 设计自定义邮件程序

ruby-on-rails - Devise token_authenticatable 已弃用,替代方案是什么?

ruby-on-rails - 将分页 : Limit number of results

ruby-on-rails - 使用rails中的 session 变量在模型中评分算法

authentication - 如何使用 Nuxt.js 将数据存储到本地存储

iphone - 如何使用GAE作为后台服务器设计iPhone上的facebook id登录流程?

ruby-on-rails - rails : Devise not properly destroying user session cookie after calling destroy_user_session_path

ruby-on-rails - ruby rails : is it okay to use old school database access without migrations?

ruby-on-rails - Rails 4 和 Turbolinks - 元标签不变

javascript - 如何访问 ember-simple-auth 中的 session 属性?