"devise_token_auth" gem 是否支持基于网络的身份验证?
Does "devise_token_auth" gem support web-based authentication?
此gem ("devise_token_auth") 用于使用JSON API 进行前端开发的应用程序的令牌认证。
我们可以使用这个 gem 进行服务器端渲染吗?如果是,那么如何将先前响应中的令牌添加到当前请求?
我不知道这对你来说是否仍然是一个紧迫的问题,但我想提出一些建议。
对于您的 API,您可以输入 devise_token_auth,它将完成您在那里进行身份验证所需的一切。
如果您需要通过服务器端页面呈现(例如登录表单、重设密码表单等)进行身份验证,也只需投入常规设计即可。它将与您完全相同的用户模型和 table 一起工作,并且在 运行 和 devise_token_auth.
中使用相同的资源时几乎没有摩擦。
宝石文件
#autentication and authorization
gem 'devise', '~> 3.5', '>= 3.5.6'
gem 'devise_token_auth', '0.1.37'
然后运行
bundle
运行 设计的安装程序:
rails generate devise:install
然后生成你的用户模型:
rails generate devise User
现在安装devise_token_auth:
rails g devise_token_auth:install User "auth"
并确保您的数据库已迁移:
rake db:migrate
我认为 devise_token_auth 可能会覆盖您的用户模型,我不确定,但如果确实如此,请仅保留 devise_token_auth 的迁移并忽略 Devise 的迁移。
然后确保您的 routes.rb 与此匹配:
Rails.application.routes.draw do
devise_for :users
root "home#index"
namespace :api, defaults: { format: :json } do
namespace :v1 do #I namespace my routes
mount_devise_token_auth_for "User", at: "auth"
end
end
end
devise_for 必须在 mount_devise_token_auth.
之前
然后只需参考官方设计和设计令牌身份验证文档,即可获得适合您的两种解决方案。
希望这对达到这一点并且需要在移动应用程序和浏览器 Web 应用程序上对用户进行身份验证的任何人有所帮助。
此gem ("devise_token_auth") 用于使用JSON API 进行前端开发的应用程序的令牌认证。 我们可以使用这个 gem 进行服务器端渲染吗?如果是,那么如何将先前响应中的令牌添加到当前请求?
我不知道这对你来说是否仍然是一个紧迫的问题,但我想提出一些建议。
对于您的 API,您可以输入 devise_token_auth,它将完成您在那里进行身份验证所需的一切。
如果您需要通过服务器端页面呈现(例如登录表单、重设密码表单等)进行身份验证,也只需投入常规设计即可。它将与您完全相同的用户模型和 table 一起工作,并且在 运行 和 devise_token_auth.
中使用相同的资源时几乎没有摩擦。宝石文件
#autentication and authorization
gem 'devise', '~> 3.5', '>= 3.5.6'
gem 'devise_token_auth', '0.1.37'
然后运行
bundle
运行 设计的安装程序:
rails generate devise:install
然后生成你的用户模型:
rails generate devise User
现在安装devise_token_auth:
rails g devise_token_auth:install User "auth"
并确保您的数据库已迁移:
rake db:migrate
我认为 devise_token_auth 可能会覆盖您的用户模型,我不确定,但如果确实如此,请仅保留 devise_token_auth 的迁移并忽略 Devise 的迁移。
然后确保您的 routes.rb 与此匹配:
Rails.application.routes.draw do
devise_for :users
root "home#index"
namespace :api, defaults: { format: :json } do
namespace :v1 do #I namespace my routes
mount_devise_token_auth_for "User", at: "auth"
end
end
end
devise_for 必须在 mount_devise_token_auth.
之前然后只需参考官方设计和设计令牌身份验证文档,即可获得适合您的两种解决方案。
希望这对达到这一点并且需要在移动应用程序和浏览器 Web 应用程序上对用户进行身份验证的任何人有所帮助。