public static async Task <EncompassRestClient> CreateFromUserCredentialsAsync(string apiClientId, string apiClientSecret, string instanceId, string userId, string password, TokenExpirationHandling tokenExpirationHandling, CancellationToken cancellationToken = default) { Preconditions.NotNullOrEmpty(userId, nameof(userId)); Preconditions.NotNullOrEmpty(password, nameof(password)); if (tokenExpirationHandling == TokenExpirationHandling.RetrieveNewToken) { return(await CreateAsync(apiClientId, apiClientSecret, instanceId, (tokenCreator, ct) => tokenCreator.FromUserCredentialsAsync(userId, password, ct), cancellationToken).ConfigureAwait(false)); } Preconditions.NotNullOrEmpty(apiClientId, nameof(apiClientId)); Preconditions.NotNullOrEmpty(apiClientSecret, nameof(apiClientSecret)); Preconditions.NotNullOrEmpty(instanceId, nameof(instanceId)); var client = new EncompassRestClient(apiClientId, apiClientSecret, instanceId, null); var accessToken = await client.AccessToken.GetTokenFromUserCredentialsAsync(userId, password, nameof(CreateFromUserCredentialsAsync), cancellationToken).ConfigureAwait(false); client.AccessToken.Token = accessToken; return(client); }
public static async Task <EncompassRestClient> CreateFromUserCredentialsAsync(string apiClientId, string apiClientSecret, string instanceId, string userId, string password, TokenExpirationHandling tokenExpirationHandling, CancellationToken cancellationToken = default) { Preconditions.NotNullOrEmpty(apiClientId, nameof(apiClientId)); Preconditions.NotNullOrEmpty(apiClientSecret, nameof(apiClientSecret)); Preconditions.NotNullOrEmpty(instanceId, nameof(instanceId)); Preconditions.NotNullOrEmpty(userId, nameof(userId)); Preconditions.NotNullOrEmpty(password, nameof(password)); var client = tokenExpirationHandling == TokenExpirationHandling.RetrieveNewToken ? new EncompassRestClient(apiClientId, apiClientSecret, instanceId, userId, password, tokenExpirationHandling) : new EncompassRestClient(apiClientId, apiClientSecret); await client.AccessToken.SetTokenWithUserCredentialsAsync(instanceId, userId, password, cancellationToken).ConfigureAwait(false); return(client); }