我有兩個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-單點登錄/) –