2017-10-19 3 views
2

Ich habe ein Xamarin-Formular 2.4-Projekt, dass Benutzer Azure AD v2.0 Endpunkt für die Authentifizierung. Der Login-Teil von Xamarin funktioniert gut. Aber ich kann den richtigen Weg finden, das empfangene Token zu verwenden, um es an die Azure MobilApp zu übergeben, um einige Daten zu verbrauchen? Vorerst erfolgt die Anmeldung im Xamarin Projekt wie:Azure AD v2.0 mit dem Token für MobileApp-Authentifizierung

ar = await App.PCA.AcquireTokenAsync(App.Scopes, App.UiParent); 

Dann kann ich ar.AccessToken verwenden Graph v1.0 rufen einige Benutzer Informationen zu erhalten. Wie kann ich das Gleiche für Azure AppService tun?

Ich lese diese: https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-devquickstarts-webapp-webapi-dotnet

Aber ich denke, das ist mehr für Website-Projekt in der Azure-Portal, das auf v2.0 Endpoint authentifiziert. In meinem Fall ist der Benutzer bereits authentifiziert. Ich denke, ich muss Authentifizierung in meinem AzurePortal-> AppService-> Authentifizierung/Autorisierung-> AD Provider-> Advanced konfigurieren. Aber ich weiß nicht, was ich in IssuerURL und AllowedTokenAudience VS die Informationen in meinem app.dev.mocrosoft.com (AD v2.0 Endpoint) einfügen soll ... Dann kann ich die Authentifizierung meines AppService auf Ein setzen und Aktion nehmen wenn die Anfrage nicht authentifiziert ist: Anmeldung mit Azure AD ??

Ich dachte: 1- Einloggen mit AcquireTokenAsync zu Azure AD 2.0 Portal 2- Mit dem Token "Login" zu meinem AppService oder es im Request-Header verwenden, wenn Service in meinem AppService Aufruf 3- Daten Verbrauchen/service

Irgendwelche Vorschläge? Danke,

Antwort

0

Der Azure AD v2.0-Endpunkt kann nur Token für Microsoft Graph zu diesem Zeitpunkt abrufen. Daher ist es wahrscheinlich nicht das, was Sie verwenden möchten, außer Sie möchten die Azure Mobile App versuchen um das Diagramm aufzurufen.

Wenn Sie Sie tun, finden brauchen eine andere API aufrufen, die Bibliothek, die Sie verwendet haben (MSAL) wird auch (ADAL .NET) geändert werden müssen, und Sie müssen Ihre App auf dem Azure portal neu zu registrieren.

Wenn Sie beabsichtigen, Azure App Services-Bereitstellungen programmgesteuert bereitzustellen, empfehle ich die Verwendung des Dienstes Azure Resource Manager, der die verschiedenen Azure-Ressourcen verwaltet. Zu diesem Zweck müssen Sie möglicherweise Ihr Authentifizierungsmodell in Azure AD v1.0 endpoint ändern.

Ich werde auch eine link to Azure App Services fallen lassen, die helfen kann, wenn ich Ihre Frage falsch interpretierte.

+0

Danke für Ihre Antwort! Ich denke, ich benutze die AD v2.0, weil ich ein Verfahren für Xamarin.Forms und Authentifizierung folgen und ich dachte, dass dies der Weg ist. Meine App verwendet Azure AppService, Offline-DB, Benachrichtigung und kein Microsoft-Konto (nur Firmen-AD-Konto). Daher wird der Endpunkt v2.0 hier nicht benötigt. Ich denke, ich werde versuchen, einen richtigen Weg zu den Benutzern AD v1.0 und AzurePortal in Xamarin.Forms 2.4 –

+0

Ich denke, ich benutze AD v2.0 wegen der Einfachheit der Microsoft.Identity.Client und der PCA.AcquireTokenAsync oder AcquireSilentTokenAsync und mit den "Web-Login-AD-Fenstern". Was ist die äquivalente Lib für AD v1.0? –

+0

@Pierre die äquivalente Bibliothek wäre [ADAL] (https://www.nuget.org/packages/Microsoft.IdentityModel.Clients.ActiveDirectory/). Weitere Dokumente/Beispiele zur Verwendung von ADAL finden Sie auf der [Azure AD Developer Page] (https://aka.ms/aaddev). –

Verwandte Themen