Azure ad b2c 在AspNetCore中为Azure AD-B2C使用MSAL?

Azure ad b2c 在AspNetCore中为Azure AD-B2C使用MSAL?,azure-ad-b2c,msal,Azure Ad B2c,Msal,这是我的问题,我在VS2017 RC中创建了一个全新的AspNetCore Web应用程序 由于我想使用Azure AD B2C进行身份验证,我添加了所需的NuGet软件包: Microsoft.AspNetCore.Authentication.Cookies Microsoft.AspNetCore.Authentication.OpenIdConnect 然后我添加所有代码来配置身份验证。事实上,我复制了这个Channel9视频中演示的应用程序: 它工作正常,我可以按预期进行身份验证。现

这是我的问题,我在VS2017 RC中创建了一个全新的AspNetCore Web应用程序

由于我想使用Azure AD B2C进行身份验证,我添加了所需的NuGet软件包:

Microsoft.AspNetCore.Authentication.Cookies
Microsoft.AspNetCore.Authentication.OpenIdConnect
然后我添加所有代码来配置身份验证。事实上,我复制了这个Channel9视频中演示的应用程序:

它工作正常,我可以按预期进行身份验证。现在,我想获得一个访问令牌,以便访问我的WebApi(也使用AAD-B2C进行保护)。为此,我需要将ResponseType更改为

ResponseType = OpenIdConnectResponseType.CodeIdToken
并处理OnAuthorizationCodeReceived事件。为了做到这一点,我的理解是我必须添加Nuget包
Microsoft.IdentityModel.Clients.ActiveDirectory
。但是这个库不会以我需要的AAD-B2C v2.0端点为目标

因此,我在另一个GitHub解决方案()中看到,我可以使用
Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory

不幸的是,此软件包与NETCoreApp(版本=v1.0)不兼容,我在尝试将其添加到我的项目时收到以下错误消息:

一个或多个程序包与.NETCoreApp不兼容,版本=v1.0(win-x64)

软件包Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory 4.0.209160138-alpha 与netcoreapp1.0(.NETCoreApp,版本=v1.0)/win-x86不兼容。 软件包Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory 4.0.209160138-alpha


我缺少什么?

Azure AD B2C当前不支持对“自我”以外的资源的访问令牌。要获取self的访问令牌,只需将客户端/应用程序id作为作用域。您可以选择推荐此功能并签入其他用户推荐的功能(以前已请求过)


就您的库混乱而言,您肯定希望坚持使用MSAL。ADAL实验分支未被推荐,也未积极开发

谢谢Daniel,我知道这个限制,并且我的作用域设置为我的客户端id。但是我仍然需要处理OnAuthorizationCodeReceived事件,以便获得对“self”的访问令牌,不是吗?如果我这样做了,那么我就会遇到上面描述的问题。