mirror of
https://github.com/FCS-TECH/fcs-azure
synced 2024-09-19 11:30:38 +02:00
43 lines
1.4 KiB
Markdown
43 lines
1.4 KiB
Markdown
# fcs-azure
|
|
Library to aquire Azure access token
|
|
|
|
Sample call
|
|
```
|
|
public class Program
|
|
{
|
|
static void Main(string[] args)
|
|
{
|
|
var settings = new MySettings();
|
|
|
|
var authStore = new AzureAuthStore(settings.LoginUrl, settings.OAuthEndpoint, settings.TenantId,
|
|
settings.ClientId, settings.GrantType, settings.ClientSecret, settings.LoginScope);
|
|
|
|
var tokenFetcher = new AzureTokenFetcher(authStore);
|
|
|
|
// normally called async - but this is only a test
|
|
var token = tokenFetcher.FetchAzureToken().Result;
|
|
|
|
var ts1 = Mogrify.CurrentDateTimeToTimeStamp();
|
|
var ts2 = Mogrify.DateTimeToTimeStamp(DateTime.Now.AddHours(+2));
|
|
|
|
Console.WriteLine($"AccessToken: {token.AccessToken}");
|
|
Console.WriteLine($"Expires : {token.Expires}");
|
|
Console.WriteLine($"TokenType : {token.TokenType}");
|
|
Console.WriteLine($"HasExpired : {DateTime.Now} {ts1} {token.HasExpired(ts1)}");
|
|
Console.WriteLine($"HasExpired : {DateTime.Now.AddHours(+2)} {ts2} {token.HasExpired(ts2)}");
|
|
Console.ReadKey();
|
|
}
|
|
}
|
|
|
|
internal sealed class MySettings
|
|
{
|
|
public string LoginUrl => "https://login.microsoftonline.com";
|
|
public string OAuthEndpoint => "oauth2/v2.0/token";
|
|
public string GrantType => "client_credentials";
|
|
public string LoginScope => "";
|
|
public string TenantId => "";
|
|
public string ClientId => "";
|
|
public string ClientSecret => "";
|
|
}
|
|
|
|
```
|