2017-03-07 91 views
1

這是我的問題,我在VS2017 RC中創建了一個全新的AspNetCore WebApplication。在AspNetCore中使用MSAL for Azure AD-B2C?

因爲我想使用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進行保護。對於這一點,我需要將responseTyp的改變

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,版本= 1.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-α

我缺少什麼?

回答

1

Azure AD B2C目前不支持訪問令牌給「自我」以外的資源。要爲自己獲取訪問令牌,只需將您的客戶端/應用程序ID作爲範圍即可。您可以post on User Voice推薦此功能並檢入其他用戶推薦的功能(此前已請求此功能)。

就你圖書館的困惑而言,你一定要堅持MSAL。不推薦ADAL實驗分支,也不積極開發。

+0

謝謝丹尼爾,我知道的限制和我的範圍設置爲我的client_id。但我仍然需要處理OnAuthorizationCodeReceived事件,以便將access_token設置爲「self」,不是嗎?如果我這樣做,那麼我會陷入上述問題。 – PatLac

相關問題