OAuth
Ensemble de fonctions liées à l'OAuth permettant de détecter l'expiration d'un token, ou retenter une requête échouée.
info
Les fonctions suivantes dépendent de la librarie axios.
attention
Pour utiliser ces fonctions, il faut avoir défini les variables d'environnement suivantes :
VITE_CLIENT_ID: ID du client OAuthVITE_CLIENT_SECRET: Clé secrète du client OAuthVITE_API_URL: URL de l'APIVITE_ACCESS_TOKEN_KEY: Clé du token d'authentificationVITE_REFRESH_TOKEN_KEY: Clé du token de rafraîchissement
Types
type TErrorResponse = {
debug?: {
trace: string;
};
status?: number;
data?: {
message?: string;
};
config?: InternalAxiosRequestConfig;
};
Références
const isTokenExpiredError: (error: TErrorResponse) => boolean;
const resetTokenAndReattemptRequest: (error: TErrorResponse) => Promise<AxiosResponse>;
isTokenExpiredError
Vérifie si l'erreur est une erreur d'expiration de token.
remarque
Cette fonction est utilisée dans l'intercepteur de requêtes.
Paramètres
- error
- Requis
- L'erreur HTTP retournée par l'API.
Exemple
import { isTokenExpiredError } from '@creatic/reactic-utils';
const error = {
status: 401,
};
const isExpired = isTokenExpiredError(error);
// Réponse :
// true
resetTokenAndReattemptRequest
Lorsque le token d'authentification est expiré, cette fonction permet de le réinitialiser et de relancer la requête qui a précédemment échoué.
remarque
Cette fonction est utilisée dans l'intercepteur de requêtes.
Paramètres
- error
- Requis
- L'erreur HTTP retournée par l'API.
Exemple
import { resetTokenAndReattemptRequest } from '@creatic/reactic-utils';
const error = {
response:{
config:{
url: 'oauth/token',
...
}
}
}
const response = await resetTokenAndReattemptRequest(error);
// Réponse :
// {
// status: 200,
// data: {
// config: {
// url: 'oauth/token',
// ...
// }
// },
// headers: {
// Authorization: 'Bearer ...',
// },
// }