Inscreva-se com Oauth
Neste exemplo, demonstramos como se inscrever com Oauth
✅ Propósito do cenário:
- O usuário se registra com o provedor OAuth (Google, Facebook, etc.)
- Autenticar o usuário com o código de autorização OAuth
- Obter dados do usuário autenticado após o fluxo OAuth bem-sucedido
✅ O que você precisa:
- Um PROJECT_URL e APP_TOKEN válidos para autenticação com a API OneEntry.
- Credenciais do provedor OAuth (client_id e client_secret) do Google, Facebook ou outro provedor.
- Código de autorização obtido do redirecionamento do provedor OAuth.
- redirect_uri configurado que corresponda ao registrado com o provedor OAuth.
📌 Importante:
- Estes exemplos não incluem tratamento de erros.
- Você pode gerenciar erros usando um bloco try-catch ou empregando uma construção como await Promise.catch((error) => error).
- Certifique-se de que o formIdentifier usado no método updateUser() corresponda ao configurado em seu projeto OneEntry.
Cenário
1. Importe defineOneEntry do SDK e defina a url e o token
Exemplo:
import { defineOneEntry } from 'oneentry';
const PROJECT_URL = 'sua-url-do-projeto';
const APP_TOKEN = 'seu-token-do-app';
2. Criando um cliente API com a função defineOneEntry()
Exemplo:
const { AuthProvider, Users } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});
3. Registro do usuário com AuthProvider.oauthSignUp()
Dados:
{
"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
]
}
}
Exemplo:
const signUpResponse = await AuthProvider.oauthSignUp('email', body).catch((e) => e);
Resultado:
{
"statusCode": 403,
"timestamp": "2026-01-04T01:20:52.612Z",
"message": "Dados de permissão não encontrados. Forneça a permissão para a URL solicitada",
"pageData": null
}
4. Autenticação do usuário com AuthProvider.oauthSignUp()
Dados:
{
"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
]
}
}
Exemplo:
const authResponse = await AuthProvider.oauthSignUp('email', authBody).catch((e) => e);
Resultado:
{
"statusCode": 403,
"timestamp": "2026-01-04T01:20:52.792Z",
"message": "Dados de permissão não encontrados. Forneça a permissão para a URL solicitada",
"pageData": null
}
5. Agora você pode obter dados do usuário com Users.getUser()
Exemplo:
const userData = await Users.getUser();
Exemplo final
// 1. Importe defineOneEntry do SDK defina PROJECT_URL e APP_TOKEN
import { defineOneEntry } from 'oneentry';
const PROJECT_URL = 'sua-url-do-projeto';
const APP_TOKEN = 'seu-token-do-app';
// 2. Criando um cliente API:
const { AuthProvider, Users } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});
// 3. Registro do usuário com 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. Autenticação do usuário com 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. Agora você pode obter dados do usuário com Users.getUser()
const user = await Users.getUser().catch((e) => e);
// console.log(JSON.stringify(user));