对于使用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. Mono \ Xamarin是否支持基本身份验证?
- 3. 需要支持基于网络的身份验证
- 4. 在Grails中支持基本身份验证和基于表单的身份验证
- 5. 确定是否浏览器支持集成的身份验证
- 6. Greenplum是否支持其节点之间的Kerberos身份验证?
- 7. Azure VM中的WASB是否支持Kerberos身份验证?
- 8. 基于不依赖表单身份验证的基于Cookie的身份验证
- 9. YouTube_it Gem Bad身份验证
- 10. 对身份验证的Firebase支持
- 11. Amazon S3是否支持带有基本身份验证的HTTP请求
- 12. Rest客户端是否支持NTLM身份验证?
- 13. Meteor项目是否考虑添加Persona身份验证支持?
- 14. HoTMaiL或Windows Live ID是否支持OpenID身份验证?
- 15. Phoenix框架是否支持Windows身份验证?
- 16. System.Net.Mail.SmtpClient是否支持CRAM-MD5身份验证?
- 17. Amzon congnito是否支持IAM用户身份验证
- 18. 基于角度令牌的基于身份验证的验证
- 19. Web服务的基本身份验证
- 20. 基于iOS MAM的身份验证模型是否有意义?
- 21. j_security_check身份验证是否可以跟随其他Web身份验证机制?
- 22. 基于Flask的API的身份验证?
- 23. 基于角色的身份验证
- 24. 基于Spring Boot Token的身份验证
- 25. 基于URL的身份验证链接
- 26. 基于XMLHttpRequest的Windows身份验证
- 27. 创建基于http的身份验证
- 28. 基于Oracle表的身份验证
- 29. 基于Java的用户身份验证
- 30. 基于表单的身份验证
如果您正在寻找简单的服务器端解决方案,为什么不使用'devise' gem? – domp
我可以使用设计,但不支持移动应用程序的API。我想要支持网站和移动应用的东西。 – vipin8169