我有两个Rails应用程序,我想接受来自另一个应用程序(比如说App A)的用户登录凭据(比如说App A)。对于接受登录凭证的应用程序(应用程序B),我认为最好的选择是使用OAuth。但对于正在使用其用户凭证的应用程序(应用程序A),如何允许用户的登录信息被其他网站使用?我是否也使用OAuth,或者类似Doorkeeper?正如您所看到的,我对用户身份验证非常陌生,所以任何建议都会有所帮助!用Rails应用程序进行用户身份验证
1
A
回答
5
解决此问题的一种可能方法是创建一个基于门卫的独立应用程序,该应用程序将包含所有用户的凭证。然后,您的客户端应用程序将实际连接到此“验证应用程序”(使用Oauth)。然后,当客户端在验证应用程序上进行验证时,它们会返回到客户端应用程序。当然,从用户界面的角度来看,您可以实现这种无缝连接,因此您的登录页面实际上将位于此Auth应用程序上,但它对用户而言看起来是无缝的。这样,您可以根据需要添加尽可能多的应用程序,并且凭据都将放在一个地方。要回答您的具体问题,您可以在您的客户端应用程序上使用Oauth2,并在Auth App上使用门卫。
您需要调整门卫配置,以使该过程对用户“干净”。例如,对于内部应用程序,您可以安全地在门卫中使用skip_authorization
方法。 Learn more about that here
此门卫/ oauth系统具有将您的身份验证逻辑与主应用程序解耦的附加优势,这是良好的面向服务设计的基础。当然,还有其他方法可以解决这个问题,但考虑到您的问题的背景,是的,Doorkeeper和Oauth2可以解决您的问题。
相关问题
- 1. SSL身份验证Rails应用程序
- 2. ASP.NET应用程序未使用Windows身份验证进行身份验证
- 3. Android应用程序的Rails用户身份验证
- 4. 使用has_secure_password进行Rails身份验证
- 5. 如何使用Django身份验证在Node应用程序中对用户进行身份验证?
- 6. 对用户进行身份验证
- 7. Windows Phone 8应用程序使用Facebook进行身份验证
- 8. 使用Azure移动应用程序进行Google身份验证
- 9. java web应用程序使用adfs 2.0进行身份验证
- 10. 使用ADAL对Azure API应用程序进行身份验证
- 11. 使用ldap进行身份验证的C#ASP.NET应用程序
- 12. 使用Kerberos和WAS7对应用程序用户进行身份验证
- 13. Facebook应用进行身份验证
- 14. Rails Api身份验证与用户身份验证
- 15. 如何在Rails应用程序中使用httparty进行基本身份验证?
- 16. Ember Rails使用Devise和非单页应用程序进行身份验证
- 17. 通过Twitter用户进行身份验证的Web应用程序
- 18. Web应用程序使用窗口域帐户进行身份验证
- 19. 使用Nginx和Tomcat Web应用程序进行TLS客户端身份验证
- 20. Wordpress如何在现有应用程序中对用户进行身份验证?
- 21. 从PHP Web应用程序对Azure Active Directory进行身份验证用户
- 22. 跨多个应用程序进行身份验证
- 23. 如何在Windows 8.1应用程序中进行身份验证?
- 24. Tomcat应用程序管理器不会进行身份验证
- 25. 应用程序未在画布中进行身份验证
- 26. 针对Azure AD进行身份验证 - ColdFusion Web应用程序
- 27. 在Google表单应用程序中进行身份验证
- 28. 在iOS应用程序中进行身份验证的方法
- 29. 在移动应用程序中进行身份验证
- 30. vimeo o通过iPhone应用程序进行身份验证
我认为你需要SSO,[多个应用程序设计,Omniauth和单一登录](http://blog.joshsoftware.com/2010/12/16/multiple-applications-with-devise-omniauth-and-单点登录/) –