Table of Contents

Class OAuth2RefreshTokenHelper

Helper pour l'authentification OAuth 2.0 avec Refresh Token.

Utilisé pour les APIs qui nécessitent un refresh token initial :

  • Zoho CRM, Books, etc.
  • Google APIs (Gmail, Drive, etc.)
  • Salesforce
  • HubSpot

FONCTIONNALITÉS :

  • Obtention automatique du token via refresh token
  • Cache du token en mémoire
  • Refresh automatique avant expiration
  • Thread-safe
  • Support pour différents formats de réponse

EXEMPLE D'UTILISATION :

var auth = new OAuth2RefreshTokenHelper(
    tokenEndpoint: "https://accounts.zoho.com/oauth/v2/token",
    clientId: "your-client-id",
    clientSecret: "your-client-secret",
    refreshToken: "your-refresh-token"
);

var token = await auth.GetAccessTokenAsync();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
public class OAuth2RefreshTokenHelper : IDisposable
Inheritance
OAuth2RefreshTokenHelper
Implements
Inherited Members

Constructors

OAuth2RefreshTokenHelper(string, string, string, string, Dictionary<string, string>, HttpClient)

Crée un helper OAuth2 Refresh Token.

public OAuth2RefreshTokenHelper(string tokenEndpoint, string clientId, string clientSecret, string refreshToken, Dictionary<string, string> additionalParams = null, HttpClient httpClient = null)

Parameters

tokenEndpoint string

URL du endpoint token

clientId string

Client ID de l'application

clientSecret string

Client Secret de l'application

refreshToken string

Refresh token obtenu lors de l'autorisation initiale

additionalParams Dictionary<string, string>

Paramètres additionnels pour la requête token

httpClient HttpClient

HttpClient optionnel

Methods

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public void Dispose()

ForGoogle(string, string, string)

Crée un helper pour Google APIs.

public static OAuth2RefreshTokenHelper ForGoogle(string clientId, string clientSecret, string refreshToken)

Parameters

clientId string

Client ID Google

clientSecret string

Client Secret Google

refreshToken string

Refresh Token Google

Returns

OAuth2RefreshTokenHelper

ForHubSpot(string, string, string)

Crée un helper pour HubSpot.

public static OAuth2RefreshTokenHelper ForHubSpot(string clientId, string clientSecret, string refreshToken)

Parameters

clientId string

Client ID HubSpot

clientSecret string

Client Secret HubSpot

refreshToken string

Refresh Token HubSpot

Returns

OAuth2RefreshTokenHelper

ForSalesforce(string, string, string, bool)

Crée un helper pour Salesforce.

public static OAuth2RefreshTokenHelper ForSalesforce(string clientId, string clientSecret, string refreshToken, bool isSandbox = false)

Parameters

clientId string

Consumer Key Salesforce

clientSecret string

Consumer Secret Salesforce

refreshToken string

Refresh Token Salesforce

isSandbox bool

True si environnement sandbox

Returns

OAuth2RefreshTokenHelper

ForZoho(string, string, string, string)

Crée un helper pour Zoho APIs.

public static OAuth2RefreshTokenHelper ForZoho(string clientId, string clientSecret, string refreshToken, string accountsDomain = "https://accounts.zoho.com")

Parameters

clientId string

Client ID Zoho

clientSecret string

Client Secret Zoho

refreshToken string

Refresh Token Zoho

accountsDomain string

Domaine accounts (défaut: https://accounts.zoho.com)

Returns

OAuth2RefreshTokenHelper

GetAccessTokenAsync()

Obtient un access token valide. Le token est mis en cache et rafraîchi automatiquement si expiré.

public Task<string> GetAccessTokenAsync()

Returns

Task<string>

InvalidateToken()

Invalide le token en cache.

public void InvalidateToken()

RefreshTokenAsync()

Force le rafraîchissement du token.

public Task<string> RefreshTokenAsync()

Returns

Task<string>

TestConnectionAsync()

Teste si les credentials sont valides.

public Task<bool> TestConnectionAsync()

Returns

Task<bool>