Class OAuth2RefreshTokenHelper
- Namespace
- 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
- 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
tokenEndpointstringURL du endpoint token
clientIdstringClient ID de l'application
clientSecretstringClient Secret de l'application
refreshTokenstringRefresh token obtenu lors de l'autorisation initiale
additionalParamsDictionary<string, string>Paramètres additionnels pour la requête token
httpClientHttpClientHttpClient 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
clientIdstringClient ID Google
clientSecretstringClient Secret Google
refreshTokenstringRefresh Token Google
Returns
ForHubSpot(string, string, string)
Crée un helper pour HubSpot.
public static OAuth2RefreshTokenHelper ForHubSpot(string clientId, string clientSecret, string refreshToken)
Parameters
clientIdstringClient ID HubSpot
clientSecretstringClient Secret HubSpot
refreshTokenstringRefresh Token HubSpot
Returns
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
clientIdstringConsumer Key Salesforce
clientSecretstringConsumer Secret Salesforce
refreshTokenstringRefresh Token Salesforce
isSandboxboolTrue si environnement sandbox
Returns
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
clientIdstringClient ID Zoho
clientSecretstringClient Secret Zoho
refreshTokenstringRefresh Token Zoho
accountsDomainstringDomaine accounts (défaut: https://accounts.zoho.com)
Returns
GetAccessTokenAsync()
Obtient un access token valide. Le token est mis en cache et rafraîchi automatiquement si expiré.
public Task<string> GetAccessTokenAsync()
Returns
InvalidateToken()
Invalide le token en cache.
public void InvalidateToken()
RefreshTokenAsync()
Force le rafraîchissement du token.
public Task<string> RefreshTokenAsync()
Returns
TestConnectionAsync()
Teste si les credentials sont valides.
public Task<bool> TestConnectionAsync()