对于使用JSON API进行前端开发的应用程序,此gem(“devise_token_auth”)用于令牌身份验证。 我们可以使用这个gem进行服务器端渲染吗?如果是,那么如何将以前的响应添加到当前请求中?“devise_token_auth”gem是否支持基于Web的身份验证?
回答
我不知道这是不是还在为你当务之急,但我想在一些建议抛出。
为了您的API,你可以在devise_token_auth抛,它会做你所需要的一切为了验证那里。
如果你需要的网页服务器端渲染身份验证(如登录表单,重置密码表单等)随便扔在普通色器件了。它将与你完全相同的用户模型和表格一起工作,并且使用与devise_token_auth一起使用的相同资源来启动和运行它们将会产生一些摩擦。
的Gemfile
#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一致的:mount_devise_token_auth之前
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一定要来。
然后,只需参考官方装置和后制定令牌身份验证文档,可以使这两个解决方案为你工作。
希望这有助于人谁达到这一点,有必要对移动应用程序和浏览器的Web应用程序验证用户身份。
谢谢。我会试试这个! – vipin8169
在我使用的版本(0.1.38)有标准色器件功能(基于Web的认证)的支持 - 您可以用'config.enable_standard_devise_support = TRUE' – etagwerker
只是为了记录了'devise_token_auth'配置启用我已经获得了两种解决方案,不使用配置开关,而是使用'api'或任何其他特殊命名空间命名所有与设计令牌认证有关的命令。 –
- 1. Zuul是否支持OAuth身份验证?
- 2. AFNetworking是否支持NTLM身份验证?
- 3. Mono \ Xamarin是否支持基本身份验证?
- 4. 需要支持基于网络的身份验证
- 5. 在Web API的Swagger文档中支持基于令牌的身份验证
- 6. 在Grails中支持基本身份验证和基于表单的身份验证
- 7. SAVON是否支持客户端证书身份验证
- 8. ASIHTTPRequest是否支持ios中的https摘要身份验证?
- 9. Azure VM中的WASB是否支持Kerberos身份验证?
- 10. 确定是否浏览器支持集成的身份验证
- 11. Greenplum是否支持其节点之间的Kerberos身份验证?
- 12. 基于不依赖表单身份验证的基于Cookie的身份验证
- 13. YouTube_it Gem Bad身份验证
- 14. Amazon S3是否支持带有基本身份验证的HTTP请求
- 15. 对身份验证的Firebase支持
- 16. ejabberd中的oauth2身份验证支持
- 17. Rest客户端是否支持NTLM身份验证?
- 18. System.Net.Mail.SmtpClient是否支持CRAM-MD5身份验证?
- 19. Meteor项目是否考虑添加Persona身份验证支持?
- 20. Phoenix框架是否支持Windows身份验证?
- 21. Amzon congnito是否支持IAM用户身份验证
- 22. Postgresql JDBC驱动程序是否支持Pgpass身份验证?
- 23. 基于证书的身份验证
- 24. 基于角度令牌的基于身份验证的验证
- 25. Web服务的基本身份验证
- 26. 基于声明的身份验证是否比基本身份验证更安全?
- 27. LDAP身份验证支持节点js
- 28. HTTP身份验证不支持CGI
- 29. Flex FileReference不支持NTLM身份验证
- 30. 这种基于JWT的身份验证方法是否安全?
如果您正在寻找简单的服务器端解决方案,为什么不使用'devise' gem? – domp
我可以使用设计,但不支持移动应用程序的API。我想要支持网站和移动应用的东西。 – vipin8169