Oauth ile Kayıt Ol
Bu örnekte, Oauth ile nasıl kayıt olunacağını gösteriyoruz.
✅ Senaryonun Amacı:
- Kullanıcı OAuth sağlayıcısı (Google, Facebook, vb.) ile kayıt olur.
- Kullanıcıyı OAuth yetkilendirme kodu ile doğrulamak.
- Başarılı OAuth akışından sonra doğrulanmış kullanıcı verilerini almak.
✅ İhtiyacınız Olanlar:
- OneEntry API ile kimlik doğrulama için geçerli bir PROJECT_URL ve APP_TOKEN.
- Google, Facebook veya başka bir sağlayıcıdan alınmış OAuth sağlayıcı kimlik bilgileri (client_id ve client_secret).
- OAuth sağlayıcısından yönlendirme ile alınan yetkilendirme kodu.
- OAuth sağlayıcısında kayıtlı olan ile eşleşen yapılandırılmı ş redirect_uri.
📌 Önemli:
- Bu örnekler hata yönetimini içermez.
- Hataları bir try-catch bloğu kullanarak veya await Promise.catch((error) => error) gibi bir yapı kullanarak yönetebilirsiniz.
- updateUser() yönteminde kullanılan formIdentifier'ın OneEntry projenizde yapılandırılan ile eşleştiğinden emin olun.
Senaryo
1. SDK'dan defineOneEntry'yi içe aktarın ve url ile token'ı tanımlayın
Örnek:
import { defineOneEntry } from 'oneentry';
const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';
2. defineOneEntry() fonksiyonu ile bir API istemcisi oluşturma
Örnek:
const { AuthProvider, Users } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});
3. AuthProvider.oauthSignUp() ile kullanıcı kaydı
Veri:
{
"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
]
}
}
Örnek:
const signUpResponse = await AuthProvider.oauthSignUp('email', body).catch((e) => e);
Sonuç:
{
"statusCode": 403,
"timestamp": "2026-01-04T01:20:52.612Z",
"message": "İzin verisi bulunamadı. İstenen URL için izin sağlayın",
"pageData": null
}
4. AuthProvider.oauthSignUp() ile kullanıcı kimlik doğrulama
Veri:
{
"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
]
}
}
Örnek:
const authResponse = await AuthProvider.oauthSignUp('email', authBody).catch((e) => e);
Sonuç:
{
"statusCode": 403,
"timestamp": "2026-01-04T01:20:52.792Z",
"message": "İzin verisi bulunamadı. İstenen URL için izin sağlayın",
"pageData": null
}
5. Artık Users.getUser() ile kullanıcı verilerini alabilirsiniz
Örnek:
const userData = await Users.getUser();
Son örnek
// 1. SDK'dan defineOneEntry'yi içe aktarın, PROJECT_URL ve APP_TOKEN'ı tanımlayın
import { defineOneEntry } from 'oneentry';
const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';
// 2. Bir API istemcisi oluşturma:
const { AuthProvider, Users } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});
// 3. AuthProvider.oauthSignUp() ile kullanıcı kaydı
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. AuthProvider.oauthSignUp() ile kullanıcı kimlik doğrulama
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. Artık Users.getUser() ile kullanıcı verilerini alabilirsiniz
const user = await Users.getUser().catch((e) => e);
// console.log(JSON.stringify(user));