public async Task EnsureAuthenticated(IServiceClientAccessToken serviceClientAccessToken) { ArgumentValidation.Validate(nameof(serviceClientAccessToken), serviceClientAccessToken); if (string.IsNullOrEmpty(_authenticationOptions.Value.RefreshToken) || string.IsNullOrEmpty(_authenticationOptions.Value.AccessToken)) { Logger.Info("No credential data available."); return; } var ensureAuthenticationData = await _authenticatorClient.EnsureAuthenticatedAsync(_authenticationOptions.Value.RefreshToken, _authenticationOptions.Value.AccessToken); if (ensureAuthenticationData.IsRefreshDone) { SaveAuthenticationData(ensureAuthenticationData.RefreshedAuthenticationData); serviceClientAccessToken.AccessToken = ensureAuthenticationData.RefreshedAuthenticationData.AccessToken; Logger.Info("Credential data has been refreshed."); } else { serviceClientAccessToken.AccessToken = _authenticationOptions.Value.AccessToken; } }
protected ServiceClient(ServiceClientOptions options, IServiceClientAccessToken accessToken) { ArgumentValidation.Validate(nameof(options), options); ArgumentValidation.Validate(nameof(accessToken), accessToken); Options = options; AccessToken = accessToken; }