private static async Task RunAsync() { SampleConfiguration config = SampleConfiguration.ReadFromJsonFile("appsettings.json"); var appConfig = config.PublicClientApplicationOptions; var app = PublicClientApplicationBuilder.CreateWithApplicationOptions(appConfig) .Build(); var httpClient = new HttpClient(); MyInformation myInformation = new MyInformation(app, httpClient, config.MicrosoftGraphBaseEndpoint); await myInformation.DisplayMeAndMyManagerAsync(); }
/// <summary> /// Reads the configuration from a json file /// </summary> /// <param name="path">Path to the configuration json file</param> /// <returns>SampleConfiguration as read from the json file</returns> public static SampleConfiguration ReadFromJsonFile(string path) { // .NET configuration IConfigurationRoot Configuration; var builder = new ConfigurationBuilder() .SetBasePath(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)) .AddJsonFile(path); Configuration = builder.Build(); // Read the auth and graph endpoint config SampleConfiguration config = new SampleConfiguration() { PublicClientApplicationOptions = new PublicClientApplicationOptions() }; Configuration.Bind("Authentication", config.PublicClientApplicationOptions); config.MicrosoftGraphBaseEndpoint = Configuration.GetValue <string>("WebAPI:MicrosoftGraphBaseEndpoint"); return(config); }