在没有第三方工具的角度应用程序中单点登录

时间:2018-05-09 10:45:47

标签: angularjs angular asp.net-web-api single-sign-on

我们有2个Angular应用程序。第一个(让我们称之为PO)已经在Angular 1中创建并且正在运行,而另一个(我们可以称之为XPP)将在Angular 5中创建。它们都使用/将使用ASP.net Web API用于服务器端交互。

用户注册只能通过PO完成。此外,只有PO可以访问包含所有注册用户的数据库。 PO使用OWIN,但不使用Identity。

现在,2个应用程序必须共享登录,即,如果用户已登录其中任何一个,则它们也被视为登录到另一个应用程序。我们已经为此查看过很多文章,但似乎没有一篇文章完全符合这种情况。此外,我们不允许使用第三方解决方案,如auth0。

我们如何在两个应用程序之间实现单点登录(SSO)?

1 个答案:

答案 0 :(得分:0)

您可以使用令牌系统继续会话。

对于Eg。首先,用户通过第一个应用程序登录。然后,应用程序将接收令牌,后端将使用该令牌对用户进行身份验证。

如果您将站点从第一个更改为第二个,则只需通过URL(查询字符串)传递令牌。并再次使用相同的令牌进行身份验证。

像这样,您可以轻松地为这两个应用程序使用相同的会话。