public ADALToken AcquireTokenWithClientCredentials(string tenant, string resource, string clientId, string clientSecret) { ADALToken token = null; client = new RestClient("https://login.microsoftonline.com"); var request = new RestRequest($"{tenant}.onmicrosoft.com/oauth2/token", Method.POST); request.AddParameter("client_id", clientId); request.AddParameter("grant_type", ConfigurationManager.AppSettings["grant_type"]); request.AddParameter("resource", resource); request.AddParameter("client_secret", clientSecret); IRestResponse response = client.Execute(request); var content = response.Content; if (!string.IsNullOrEmpty(content) && response.StatusCode == System.Net.HttpStatusCode.OK) { try { token = JsonConvert.DeserializeObject <ADALToken>(content); } catch { } } return(token); }
public ADALToken(ADALToken token) { Scope = token.Scope; ExpiresIn = token.ExpiresIn; ExtExpiresIn = token.ExtExpiresIn; ExpiresOn = token.ExpiresOn; NotBefore = token.NotBefore; Resource = token.Resource; AccessToken = token.AccessToken; RefreshToken = token.RefreshToken; IdToken = token.IdToken; }
static void Main(string[] args) { try { RestHelper rest = new RestHelper(); string resource = ConfigurationManager.AppSettings["resource"]; string clientId = ConfigurationManager.AppSettings["graph_client_id"]; string clientSecret = ConfigurationManager.AppSettings["graph_client_secret"]; string tenant = new Uri(ConfigurationManager.AppSettings["TenantUrl"]).Host.Split('.')[0]; ADALToken token = rest.AcquireTokenWithClientCredentials(tenant, resource, clientId, clientSecret); AzureUser azureUser = new AzureUser(); if (!string.IsNullOrEmpty(token.AccessToken)) { GraphUserList azureUsersId = azureUser.GetAzureUsers(token.AccessToken); if (azureUsersId != null) { GraphUserResponseList azureUsers = azureUser.GetUserById(token.AccessToken, azureUsersId); Console.WriteLine(string.Format("{0} azure users has found...", azureUsers.Responses.Count)); } else { Console.WriteLine("Azure user not found!"); } } else { Console.WriteLine("Token is null!"); } } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.ReadLine(); }