private async Task <bool> RefreshOidcTokenAsync(TokenRefreshManager caller, OidcTokenOptions oidcTokenOptions, CancellationToken cancellationToken) { var request = new ImpersonationOIdCTokenRequest { DelegateAccounts = DelegateAccounts, Audience = oidcTokenOptions.TargetAudience, IncludeEmail = true }; var oidcTokenUrl = string.Format(GoogleAuthConsts.IamIdTokenEndpointFormatString, TargetPrincipal); caller.Token = await request.ExecuteAsync(HttpClient, oidcTokenUrl, Clock, Logger, cancellationToken) .ConfigureAwait(false); return(true); }
private async Task <bool> RefreshOidcTokenAsync(TokenRefreshManager caller, OidcTokenOptions oidcTokenOptions, CancellationToken cancellationToken) { var request = new ImpersonationOIdCTokenRequest { DelegateAccounts = Options.DelegateAccounts, Audience = oidcTokenOptions.TargetAudience, IncludeEmail = true }; var body = NewtonsoftJsonSerializer.Instance.Serialize(request); var content = new StringContent(body, Encoding.UTF8, "application/json"); var oidcTokenUrl = String.Format(GoogleAuthConsts.IamIdTokenEndpointFormatString, Options.TargetPrincipal); var response = await HttpClient.PostAsync(oidcTokenUrl, content, cancellationToken).ConfigureAwait(false); caller.Token = await TokenResponse.FromHttpResponseAsync(response, Clock, Logger).ConfigureAwait(false); return(true); }