Как да получите данните за влезлия потребител (имейл идентификатор на потребителя и потребителско име) с помощта на токен за достъп в AAD Single Sign при използване на задната част на java script?

Здравейте, разработвам приложение за Windows Store 8.1, използвайки C# и xaml

За влизане удостоверявам потребителя с единично влизане в активната директория на Windows Azure, използвайки задния край на JavaScript.

След като потребителят е влязъл в системата и имам токена за достъп, как да получа имейл адреса и потребителското име на влезлия потребител с помощта на токена за достъп в приложението?

Моля, някой да ми предостави решение за получаване на потребителския имейл с помощта на токена за достъп?


person Santhosh Kumar    schedule 01.12.2014    source източник


Отговори (1)


Ако имате токена за достъп, той трябва да съдържа стойността на потребителския идентификатор. За да извлечете имейл адреса, трябва да направите заявка към Graph API, за да получите подробности за потребителя. Пълната документация за това е тук, но накратко трябва да направите заявка за получаване като по-долу, поставяйки AccessToken в заглавката за оторизация след „Носител“.

GET https://graph.windows.net/contoso.onmicrosoft.com/users/[email protected]?api-version=2013-04-05 HTTP/1.1
Authorization: Bearer eyJ0eX ... FWSXfwtQ
Content-Type: application/json

Можете да използвате основно име на потребител или objectId в адреса. Още по-добре, можете да използвате пакета nuget на Azure AD Graph Client и обадете се на техния API, за да получите информация за потребителя.

Uri servicePointUri = new Uri("https://graph.windows.net");
Uri serviceRoot = new Uri(servicePointUri, "contoso.onmicrosoft.com");
ActiveDirectoryClient activeDirectoryClient = new ActiveDirectoryClient(serviceRoot, accessToken);
IUser user = activeDirectoryClient.Users
    .Where(user => user.UserPrincipalName.Equals("[email protected]"))
    .ExecuteAsync().Result.CurrentPage.ToList().SingleOrDefault();

Вижте тук за пълната проба.

person htuomola    schedule 16.02.2015