public abstract AccessToken GetToken(TokenRequest request, CancellationToken cancellationToken);
public abstract Task <AccessToken> GetTokenAsync(TokenRequest request, CancellationToken cancellationToken);