这是我的问题,我在VS2017 RC中创建了一个全新的AspNetCore WebApplication。
由于我想使用Azure AD B2C进行身份验证,因此我添加了所需的NuGet包:
Microsoft.AspNetCore.Authentication.Cookies
Microsoft.AspNetCore.Authentication.OpenIdConnect
然后我添加所有代码来配置身份验证。事实上,我复制了这个Channel9视频中演示的应用程序:https://channel9.msdn.com/events/Ignite/Australia-2017/CLD336a
它工作正常,我可以按预期进行身份验证。现在我想获得一个access_token,以便访问我的WebApi,并使用AAD-B2C进行保护。为此,我需要将ResponseType更改为
ResponseType = OpenIdConnectResponseType.CodeIdToken
并处理OnAuthorizationCodeReceived
事件。为了做到这一点,我的理解是我必须添加Nuget包Microsoft.IdentityModel.Clients.ActiveDirectory
。但是这个库不会针对AAD-B2C所需的v2.0端点。
所以我在另一个GitHub解决方案(https://github.com/dzimchuk/azure-ad-b2c-asp-net-core)中看到我可以使用Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory
包。
不幸的是,这个软件包与NETCoreApp,Version = v1.0不兼容,并且在尝试将其添加到我的项目时收到此错误消息:
一个或多个软件包与.NETCoreApp不兼容,版本= v1.0(win-x64)。
打包Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory 4.0.209160138-alpha 与netcoreapp1.0(.NETCoreApp,Version = v1.0)/ win-x86不兼容。 包Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory 4.0.209160138-alpha
我错过了什么?
答案 0 :(得分:1)
Azure AD B2C目前不支持将访问令牌发送到" self"以外的资源。要获取self的访问令牌,您只需将您的客户端/应用程序ID作为范围。您可以post on User Voice推荐此功能,并检查其他用户推荐的功能(之前已请求过)。
就你的图书馆混淆而言,你肯定想坚持使用MSAL。不建议使用ADAL实验分支,也不积极开发。