public void SetUserInfo(ApplicationUser account) { var token = account.AccessList.Where(t => Regex.IsMatch(t.Scope, @"user\.read", RegexOptions.IgnoreCase)).FirstOrDefault(); if (token == null) { return; } MSGraphUser user = null; var url = $"https://graph.microsoft.com/v1.0/me/"; using (var httpClient = new HttpClient()) { httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + token.AuthTokens.access_token); var res = httpClient.GetAsync(url).Result; string resultJson = res.Content.ReadAsStringAsync().Result; if (res.IsSuccessStatusCode) { //user = JsonConvert.DeserializeObject<MSGraphUser>(resultJson); user = JsonSerializer.Deserialize <MSGraphUser>(resultJson); account.businessPhones = user.businessPhones; account.displayName = user.displayName; account.givenName = user.givenName; account.id = user.id; account.jobTitle = user.jobTitle; account.mail = user.mail; account.mobilePhone = user.mobilePhone; account.officeLocation = user.officeLocation; account.preferredLanguage = user.preferredLanguage; account.surname = user.surname; account.userPrincipalName = user.userPrincipalName; } } return; }
public async Task OnGetAsync() { // Create the Graph service client with a DefaultAzureCredential which gets an access token using the available Managed Identity var credential = new DefaultAzureCredential(); var token = credential.GetToken( new Azure.Core.TokenRequestContext( new[] { "https://graph.microsoft.com/.default" })); var accessToken = token.Token; var graphServiceClient = new GraphServiceClient( new DelegateAuthenticationProvider((requestMessage) => { requestMessage .Headers .Authorization = new AuthenticationHeaderValue("bearer", accessToken); return(Task.CompletedTask); })); List <MSGraphUser> msGraphUsers = new List <MSGraphUser>(); try { var users = await graphServiceClient.Users.Request().GetAsync(); foreach (var u in users) { MSGraphUser user = new MSGraphUser(); user.userPrincipalName = u.UserPrincipalName; user.displayName = u.DisplayName; user.mail = u.Mail; user.jobTitle = u.JobTitle; msGraphUsers.Add(user); } } catch (Exception ex) { string msg = ex.Message; } Users = msGraphUsers; }
public string GetUser(string token) { string result = string.Empty; MSGraphUser user = null; var url = $"https://graph.microsoft.com/v1.0/me/"; using (var httpClient = new HttpClient()) { httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + token); var res = httpClient.GetAsync(url).Result; string resultJson = res.Content.ReadAsStringAsync().Result; if (res.IsSuccessStatusCode) { //user = JsonConvert.DeserializeObject<MSGraphUser>(resultJson); user = JsonSerializer.Deserialize <MSGraphUser>(resultJson); result = user.displayName; } } return(result); }