Giriş-Çıkış
Giriş ve çıkış endpointleri
Giriş
Kullanıcıdan login bilgilerini bekler ve kullanıcı hesabının durumuna göre 2FA sürecini başlatır. Bu istek tamamlanması gereken bir challenge oluşturur ve hangi 2FA method'ları ile challenge'ın tamamlanacagı bilgisi methodList alanındadır.
Yalnızca tek oturuma izin verildiği için login işlemi sonucunda önceki oturumlar sonlandırılır.
Authentication
public + device_signature(optional) + 2FA
HTTP Request
POST /auth/login
Request Parameters
| Field | Type | Required | Default | Desc |
|---|---|---|---|---|
countryCode | string | true | - | Country code |
phoneNumber | string | true | - | Phone number |
password | string | true | - | User password |
deviceBrand | string | false | - | Login device brand |
deviceModel | string | false | - | Login device model |
deviceId | string | false | - | Device id, mobile only |
Response Parameters
| Field | Type | Nullable | Desc |
|---|---|---|---|
challenge | json | false | Challenge details |
result | json | true | Challenge'ın otomatik olarak tamamlandığı senaryo için aksiyon sonucu |
Response Headers
Login işlemi gerçekleşmiş ise x-auth, işlem için 2fa onayı gerekiyorsa p-auth döner. Cihaz kaydı için ot-auth döner.
x-auth: eyJhb...Q1QW0
p-auth: eyJhb...toazg
ot-auth: eyJhb...1xbxI
Response Parameters
| Field | Type | Nullable | Desc |
|---|---|---|---|
sessionKey | string | false | x-auth token ile ilişkili HMAC key |
recentFailedLogin | number | true | Varsa, en son hatalı giriş denemesi epoch timestamp |
sessionKey değeri response header'daki x-auth token ile ilişkili olarak üretilmiştir. x-auth isteyen tüm isteklerde HMAC anahtarı olarak kullanılır. Kullanıcının bir önceki login isteği hatalı ise recentFailedLogin alanı dolu gelir. Bu alandaki zamanda hesaba hatalı giriş denemesi yapıldığı kullanıcıya bildirilmelidir.
Client uygulamalar PENDING durumda olan bir challenge döndüğünde 2FA onay arayüzünü göstermelidirler.
Response Body Example
2FA gerektiren login sonucu.
{
"challenge": {
"challengeId": "1YPkeoSYQnsn7Bv8",
"ts": 1754553529150,
"status": "PENDING",
"expire": 600,
"methodList": [
{
"id": "WgRy",
"name": "PUSH",
"expire": 120,
"renewStart": 0
}
]
}
}
Tanımlı cihazdan doğrudan login sonucu.
{
"challenge": {
"challengeId": "yiTamgsoimWgLh14",
"ts": 1754553529150,
"status": "COMPLETED",
"expire": 600,
"methodList": []
},
"result": {
"action": "LOGIN",
"challengeId": "yiTamgsoimWgLh14",
"execResult": {
"success": true,
"data": {
"sessionKey": "7bf93bb0a00a4c64fcf2dc4f3d63ca924fb842d346a0b5f5404eec966f650700",
"recentFailedLogin": 1754504647998
}
}
}
}
Errors
Yanlış şifre girilmesi durumunda 401 HTTP kodu ve response body ile hatalı giriş deneme sayısı döner.
{
"attempt_count": 2
}
5 defa üst üste hatalı giriş denemesi yapılırsa 418 HTTP kodu ve yine hatalı giriş sayısı döner. Kullanıcı hesabı geçici olarak girişe kapatılır ve kullanıcı bilgilendirilir.
{
"attempt_count": 5
}
Çıkış
Oturumu sonlandır
Authentication
x-auth
HTTP Request
POST /auth/logout
Tüm oturumları sonlandır
Authentication
x-auth
HTTP Request
POST /auth/logout/all