我已经使用自己的登录表单/逻辑等开发了几个Web应用程序。我想通过创建一个专用的Web应用程序来使用FirebaseUI来处理所有登录逻辑来简化这些。我想象这种方式的工作方式是当用户需要使用我的某个应用程序登录时,他们会被重定向到我的登录Web应用程序。用户提供其凭据,如果成功,登录应用程序会将数据重定向回原始应用程序以确认登录是否成功。
如果可以,我不应该在我的其他Web应用程序中重复登录逻辑,只有登录应用程序才需要对登录代码进行任何更改。我不确定这种方法是否可行,或者我如何安全可靠地让每个Web应用程序确定用户已成功登录。任何人都可以提供有关如何实现此建议的建议或指向其中的示例已经完成了吗?
答案 0 :(得分:1)
您可能正在寻找single sign-on。
谷歌做了类似的事情。每次登录时,您都会被重定向到accounts.google.com
,之后您将被重定向到您的应用。
你是对的,它说它比第一眼看上去更棘手。大多数Web登录系统都基于cookie以及围绕它们的整个客户端 - 服务器进程。每个域都设置Cookie。如果您的所有Web应用程序都位于单个域的相同域或子域中,那么您应该可以使用此方法并获得所需的结果。如果没有,你将需要一些额外的工作来获取来自不同领域的代码,以便彼此交谈并使一切成为可能。
一般而言,如果从头开始设计登录系统被认为是一项重大的工作,那么设计一个单点登录系统的难度就会大一个数量级。 OWASP在2011年对他们进行了this to say。