上下文:我有一个MVC应用程序,它使用OWIN,并连接到Azure进行身份验证。它将令牌存储在cookie中。
我有另一个应用程序是角度spa应用程序。这也连接到Azure进行身份验证。它将令牌存储在localstorage中。 (msal库)
问题:当我首先登录MVC应用程序并打开spa应用程序并单击登录时,它再次要求提供凭据,反之亦然。这是因为我相信不同的存储空间。
问题:如何解决上述问题?如果不可能,是否有其他js库可以让我解决这个问题?
其他输入:Msal静默令牌适用于本地存储,没有问题。
确保在B2C租户下注册这两个应用程序。您可以通过发布另一个MVC应用程序并查看SSO是否在该应用程序与现有应用程序之间工作来轻松测试您的存储理论。
无论是单页角度应用程序还是MVC应用程序都不应该影响用户是否可以将SSO加入到这两者中。确保将用户添加到AAD中,如果您想要安全,可以手动将用户添加到两个应用程序中。
请参阅此相关的Github存储库。 https://azure.microsoft.com/en-us/resources/samples/active-directory-b2c-javascript-angular2-4-spa/