【发布时间】:2019-06-06 22:43:25
【问题描述】:
我正在使用 MSAL 运行一些测试,但不幸的是它没有按预期工作。
我已经为带有ADAL 和 ADAL Angular 的 ASP.NET MVC (.net 4.6) + Angular 1.6 SPA 应用程序进行了所有配置。一切正常,但后来我决定尝试MSAL。
Startup.Auth.cs 中我配置的提供商的OnValidateIdentity 处理程序被ADAL 正确命中,我可以添加其他声明:
Provider = new OAuthBearerAuthenticationProvider
{
OnValidateIdentity = async context =>
{
现在我将 Angular JS 更改为 MSAL,我得到了 ID Token 和 Access Token,但我的 OnValidateIdentity 处理程序不再被击中。
在使用MSAL 时,使用app.UseWindowsAzureActiveDirectoryBearerAuthentication 是否仍然有效?
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
.
.
.
【问题讨论】:
-
嘿 Leniel,你有什么样的 Azure AD 设置? MSAL 旨在与融合/v2.0 应用程序注册一起使用,而 ADAL 通常与 v1.0 应用程序注册一起使用。您突然切换到 MSAL 是有原因的吗?
-
嘿弗兰克...我正在使用在 Azure 门户中注册的 B2B AD 目录应用程序。我是否需要使用新的门户\注册应用程序的方式为 v2.0 注册它?原因是尝试新功能,因为我猜这将成为标准的前进方式......
-
@Frank:我的意思是使用这个新的应用注册门户:apps.dev.microsoft.com 如果我在那里注册,我的代码仍然可以在
Startup.Auth.cs中工作吗? -
Leniel,您是如何更新到 MSAL 的?您是否创建了一个新项目,复制了您的原始项目,然后更改了哪些不同之处?还是您在原始工作项目的基础上进行了更改?
-
确保您已经在项目中安装了 Microsoft.Owin.Host.SystemWeb 包。 IIS 托管应用程序中的启动检测需要此包。
标签: angularjs azure-active-directory single-page-application adal msal