Inscription avec Oauth
Dans cet exemple, nous démontrons comment s'inscrire avec Oauth
✅ Objectif du scénario :
- L'utilisateur s'inscrit auprès du fournisseur OAuth (Google, Facebook, etc.)
- Authentifier l'utilisateur avec le code d'autorisation OAuth
- Obtenir les données de l'utilisateur authentifié après un flux OAuth réussi
✅ Ce dont vous avez besoin :
- Une PROJECT_URL et un APP_TOKEN valides pour l'authentification avec l'API OneEntry.
- Les identifiants du fournisseur OAuth (client_id et client_secret) de Google, Facebook ou d'un autre fournisseur.
- Le code d'autorisation obtenu à partir de la redirection du fournisseur OAuth.
- Un redirect_uri configuré correspondant à celui enregistré auprès du fournisseur OAuth.
📌 Important :
- Ces exemples n'incluent pas la gestion des erreurs.
- Vous pouvez gérer les erreurs en utilisant un bloc try-catch ou en employant une construction comme await Promise.catch((error) => error).
- Assurez-vous que le formIdentifier utilisé dans la méthode updateUser() correspond à celui configuré dans votre projet OneEntry.
Scénario
1. Importer defineOneEntry depuis le SDK et définir l'url et le token
Exemple :
import { defineOneEntry } from 'oneentry';
const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';
2. Création d'un client API avec la fonction defineOneEntry()
Exemple :
const { AuthProvider, Users } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});
3. Inscription de l'utilisateur avec AuthProvider.oauthSignUp()
Données :
{
"client_id": "34346983-luuct343473qdkqidjopdfp3eb3k4thp.apps.googleusercontent.com",
"client_secret": "43434343434",
"code": "4/0AVMBsJgwewewewewewei4D7T6E_fbswxnL3g",
"grant_type": "registration",
"redirect_uri": "http://localhost:3000",
"formData": {
"en_US": [
null
]
}
}
Exemple :
const signUpResponse = await AuthProvider.oauthSignUp('email', body).catch((e) => e);
Résultat :
{
"statusCode": 403,
"timestamp": "2026-01-04T01:20:52.612Z",
"message": "Données de permission non trouvées. Fournissez la permission pour l'URL demandée",
"pageData": null
}
4. Authentification de l'utilisateur avec AuthProvider.oauthSignUp()
Données :
{
"client_id": "34346983-luuct343473qdkqidjopdfp3eb3k4thp.apps.googleusercontent.com",
"client_secret": "43434343434",
"code": "4/0AVMBsJgwewewewewewei4D7T6E_fbswxnL3g",
"grant_type": "authorization_code",
"redirect_uri": "http://localhost:3000",
"formData": {
"en_US": [
null
]
}
}
Exemple :
const authResponse = await AuthProvider.oauthSignUp('email', authBody).catch((e) => e);
Résultat :
{
"statusCode": 403,
"timestamp": "2026-01-04T01:20:52.792Z",
"message": "Données de permission non trouvées. Fournissez la permission pour l'URL demandée",
"pageData": null
}
5. Maintenant, vous pouvez obtenir les données de l'utilisateur avec Users.getUser()
Exemple :
const userData = await Users.getUser();
Exemple final
// 1. Importer defineOneEntry depuis le SDK définir PROJECT_URL et APP_TOKEN
import { defineOneEntry } from 'oneentry';
const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';
// 2. Création d'un client API :
const { AuthProvider, Users } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});
// 3. Inscription de l'utilisateur avec AuthProvider.oauthSignUp()
const body = {
"client_id": "34346983-luuct343473qdkqidjopdfp3eb3k4thp.apps.googleusercontent.com",
"client_secret": "43434343434",
"code": "4/0AVMBsJgwewewewewewei4D7T6E_fbswxnL3g",
"grant_type": "registration",
"redirect_uri": "http://localhost:3000"
};
const signUpResponse = await AuthProvider.oauthSignUp('email', body).catch((e) => e);
// console.log(JSON.stringify(signUpResponse));
// 4. Authentification de l'utilisateur avec AuthProvider.oauthSignUp()
const authBody = {
"client_id": "34346983-luuct343473qdkqidjopdfp3eb3k4thp.apps.googleusercontent.com",
"client_secret": "43434343434",
"code": "4/0AVMBsJgwewewewewewei4D7T6E_fbswxnL3g",
"grant_type": "authorization_code",
"redirect_uri": "http://localhost:3000"
};
const authResponse = await AuthProvider.oauthSignUp('email', authBody).catch((e) => e);
// console.log(JSON.stringify(authResponse));
// 5. Maintenant, vous pouvez obtenir les données de l'utilisateur avec Users.getUser()
const user = await Users.getUser().catch((e) => e);
// console.log(JSON.stringify(user));