Table of Contents

Class OAuth2RefreshTokenHelper

Espace de noms
SESARWebHook.Core.Auth

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
Héritage
OAuth2RefreshTokenHelper
Implements
Membres hérités

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)

Paramètres

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)

Paramètres

clientId string

Client ID Google

clientSecret string

Client Secret Google

refreshToken string

Refresh Token Google

Retour

OAuth2RefreshTokenHelper

ForHubSpot(string, string, string)

Crée un helper pour HubSpot.

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

Paramètres

clientId string

Client ID HubSpot

clientSecret string

Client Secret HubSpot

refreshToken string

Refresh Token HubSpot

Retour

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)

Paramètres

clientId string

Consumer Key Salesforce

clientSecret string

Consumer Secret Salesforce

refreshToken string

Refresh Token Salesforce

isSandbox bool

True si environnement sandbox

Retour

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")

Paramètres

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)

Retour

OAuth2RefreshTokenHelper

GetAccessTokenAsync()

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

public Task<string> GetAccessTokenAsync()

Retour

Task<string>

InvalidateToken()

Invalide le token en cache.

public void InvalidateToken()

RefreshTokenAsync()

Force le rafraîchissement du token.

public Task<string> RefreshTokenAsync()

Retour

Task<string>

TestConnectionAsync()

Teste si les credentials sont valides.

public Task<bool> TestConnectionAsync()

Retour

Task<bool>