2017-03-07 6 views
1

Hier ist mein Problem, ich erstelle eine brandneue AspNetCore WebApplication in VS2017 RC.Verwenden von MSAL für Azure AD-B2C in AspNetCore?

Da möchte ich zu authentifizieren Azure AD B2C verwenden, füge ich die erforderlichen NuGet Pakete:

Microsoft.AspNetCore.Authentication.Cookies 
Microsoft.AspNetCore.Authentication.OpenIdConnect 

ich den gesamten Code fügen Sie dann die Authentifizierung zu konfigurieren. Tatsächlich reproduzierte ich die in diesem Channel9-Video vorgestellte App: https://channel9.msdn.com/events/Ignite/Australia-2017/CLD336a

Es funktioniert gut und ich kann wie erwartet authentifizieren. Jetzt möchte ich ein access_token bekommen, um auf mein WebApi zugreifen zu können, das auch mit AAD-B2C gesichert wurde. Dazu muss ich die Response zu

ResponseType = OpenIdConnectResponseType.CodeIdToken 

und behandeln die OnAuthorizationCodeReceived Ereignis ändern. Um dies zu tun, muss nach meinem Verständnis das Nuget-Paket Microsoft.IdentityModel.Clients.ActiveDirectory hinzugefügt werden. Diese Bibliothek zielt jedoch nicht auf den v2.0-Endpunkt ab, den ich für AAD-B2C benötige.

So sah ich in einer anderen GitHub-Lösung (https://github.com/dzimchuk/azure-ad-b2c-asp-net-core), dass ich das Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory-Paket verwenden konnte.

Leider ist dieses Paket mit NETCoreApp, Version = v1.0 nicht kompatibel ist und ich bekomme diese Fehlermeldung, wenn es um mein Projekt hinzuzufügen versuchen:

ein oder mehr Pakete nicht kompatibel sind mit .NETCoreApp, Version = v1.0 (win-x64).

Paket Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory 4.0.209160138-alpha ist nicht kompatibel mit netcoreapp1.0 (.NETCoreApp, Version = v1.0)/win-x86. Paket Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory 4.0.209160138-alpha

Was bin ich?

Antwort

1

Azure AD B2C unterstützt derzeit keine Zugriffstokens auf eine andere Ressource als "self". Um ein Zugriffstoken für sich selbst zu erhalten, müssen Sie lediglich Ihre Client-/Anwendungs-ID als Bereich angeben. Sie können post on User Voice diese Funktion empfehlen und in anderen vom Benutzer empfohlenen Funktionen einchecken (dies wurde zuvor angefordert).

In Bezug auf Ihre Bibliothek Verwirrung, möchten Sie auf jeden Fall bei MSAL bleiben. Der experimentelle ADAL-Zweig wird nicht empfohlen und nicht aktiv entwickelt.

+0

Dank Daniel, ich bin mir der Einschränkung bewusst und mein Bereich ist auf meine client_id gesetzt. Aber ich muss immer noch mit dem OnAuthorizationCodeReceived-Ereignis umgehen, um den access_token auf "self" zu bekommen, oder? Wenn ich das tue, stecke ich mit dem oben beschriebenen Problem fest. – PatLac

Verwandte Themen