Vaultify Login API Nedir?

Bu proje, backend geliştiricilerinin her yeni projede karşılaştığı ve tekrar eden bir sorunu kökten çözüyor: Her proje için sıfırdan bir giriş (Login) ve yetkilendirme sistemi yazmak. Vaultify Login API sayesinde geliştiriciler, projeleri için dinamik olarak ayrı veritabanları oluşturabilir ve bunları oldukça kolay bir şekilde yönetebilir. Bu sistemle tek bir veritabanına bağımlı kalmazsınız; dilediğiniz kadar veritabanı oluşturabilir, bunları isimlendirerek güvenli ve birbirinden izole (multi-tenant) bir şekilde kullanabilirsiniz.

Peki Nasıl Kullanılır?

Vaultify Login API yalnızca HTTP POST istekleri kabul eder. Sistemi kullanmaya başlamadan önce bir Client Key oluşturmanız gerekir.


1. Client İşlemleri

POST /new/client

Yeni bir client oluşturur ve size özel bir client-key döndürür.

Örnek Yanıt
{
    "status": true,
    "client-key": "xxxxxxxxxxxxxxxx"
}
        

2. Veritabanı İşlemleri

POST /new/database

Yeni ve izole bir veritabanı oluşturur.

Headers
client-key
        
JSON Body
{
    "db-name": "MyDatabase",
    "db-password": "StrongPassword"
}
        
Başarılı Yanıt
{
    "status": true,
    "rescue-key": "xxxxxxxx"
}
        

Not: Rescue Key yalnızca bir kez gösterilir. Güvenli bir yerde saklayın.

POST /database/delete

Belirtilen veritabanını kalıcı olarak siler.

Headers
client-key
        
JSON Body
{
    "db-name": "MyDatabase",
    "db-password": "StrongPassword"
}
        

POST /database/new_password

Rescue Key kullanılarak veritabanı şifresini değiştirir.

Headers
client-key
        
JSON Body
{
    "db-name": "MyDatabase",
    "db-new-password": "NewPassword",
    "rescue-key": "xxxxxxxx"
}
        

POST /database/view_rescuekey

Veritabanına ait Rescue Key bilgisini görüntüler.

Headers
client-key
        
JSON Body
{
    "db-name": "MyDatabase",
    "db-password": "StrongPassword"
}
        

3. Kullanıcı İşlemleri

Aşağıdaki endpointlerde şu headerlar zorunludur:

db-name
db-password
client-key
    

POST /database/new/user

Yeni bir kullanıcı hesabı oluşturur.

JSON Body
{
    "user-name": "john",
    "user-password": "123456",
    "user-realname": "John Doe",
    "user-email": "john@example.com",
    "user-data": {
        "age": 25
    }
}
        

POST /user/all-data

Belirtilen kullanıcıya ait tüm verileri döndürür.

JSON Body
{
    "user-name": "john"
}
        

POST /user/query

Belirtilen sütunda verilen değerin bulunup bulunmadığını kontrol eder.

JSON Body
{
    "user-name": "john",
    "column-name": "email",
    "value": "john@example.com"
}
        

POST /user/delete

Belirtilen kullanıcıyı veritabanından siler.

JSON Body
{
    "user-name": "john"
}
        

HTTP Durum Kodları

Güvenlik Notları