2017-09-10 2 views
0

Ich erstelle einen Azure App-Dienst, der sowohl Windows Desktop- (nicht UWP) als auch iOS-Clients umfasst. Ich möchte Microsoft-Authentifizierung verwenden, um Benutzer zu authentifizieren.So erhalten Sie Benutzerinformationen beim Authentifizieren mit OneDrive SDK

Als Ergebnis einer früheren Frage here kann ich jetzt Benutzer mit dem OneDrive SDK authentifizieren, aber auf die nächste Hürde gefallen sind. Das One Drive SDK scheint keinen Zugriff auf Benutzerdetails wie den angegebenen Namen und die E-Mail-Adresse zu bieten.

Bitte verweisen Sie mich in Richtung eines Beispiels oder Anweisungen zur Authentifizierung eines Benutzers aus einer alten Desktop - Anwendung, damit diese mit ihrem Microsoft - Konto (NOT Azure AD) auf einen Azure App - Dienst zugreifen können Client mit Zugriff auf ihre E-Mail-Adresse und die keine abgeschriebene Technologie verwendet.

Antwort

0

Nach der Authentifizierung über Einfache Auth, können wir die Benutzerinformationen aus dem me Endpunkt (https://{yourSiteName}/.auth/me) durch Aufrufen der API wie Code unten erwerben:

var result =await client.InvokeApiAsync("/.auth/me"); 

Und die E-Mail zu erhalten, müssen wir die wl.emails Umfang, wenn wir uns mit dem OneDrive SDK authentifizieren. Und danach können wir den gegebenen Namen und die E-Mails von me Endpunkt wie erhalten:

string email=(string)result[0].SelectToken("$.user_claims[?(@.typ == 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress')]")["val"] 

string givenName=(string)result[0].SelectToken("$.user_claims[?(@.typ == 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname')]")["val"] 
+0

Vielen Dank. Wo hätte ich diese Informationen gefunden? – PhilDotC

+0

Sie können auf [Dokument] (Authentifizierung und Autorisierung im Azure App Service) über die einfache Authentifizierung verweisen. Und auch cgillum hat eine Reihe von Hilfe-Blogs dazu geschrieben (siehe [hier] (https://cgillum.tech/category/easy-auth/)) –

Verwandte Themen