ruby-on-rails – 使用Devise,Doorkeeper和OAuth2令牌的API和应
我有桌面应用程序和移动应用程序.我想为这两个“设备”使用相同的rails应用程序.换句话说,我希望移动应用程序在桌面应用程序上请求内容.
我使用Devise进行身份验证(电子邮件密码). 这是我的问题: 我的桌面应用程序控制器中有before_filters集,以确保它们的安全. >我不知道移动应用程序应该如何与Devise共享OAuth2令牌,以便进行身份验证并访问我的受保护的控制器? 事实上,现在,Doorkeeper应该使用doorkeeper_for:所有代码检查我的控制器中的移动令牌.但是要做到这一点我不得不设法保护before_filter:authenticate_user! 我应该在设计中保存oauth令牌吗? 我误解了移动应用程序应该如何使用设计和OAuth2原型认证? 谢谢 解决方法
这是老的,但还没有答案.
Essential Devise和Doorkeeper正在做同样的事情,Devise使用会话进行身份验证(或者如果您启用了会话身份验证),而Doorkeeper会在每个请求中发送的OAuth令牌进行身份验证. 您可能想要做的是将应用程序分为两个访问点,使用Devise进行常规桌面访问,并使用Doorkeeper进行API访问.启用仅限常规桌面控制器的设计路线,并启用只有api控制器的门卫路由. 在您的API应用程序控制器中,如果doorkeeper_token,则可以将current_user替换为User.find(doorkeeper_token.resource_owner_id).这将符合Devise认证的方式. 或者,如果您的API不必使用OAuth,您可以使用Devise的token_authenticable配置,它提供与OAuth的承载令牌相似的功能. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |