Cvisioner Docs
Geliştiriciler

API Kimlik Doğrulama

API erişimi için kimlik doğrulama yöntemleri

API Kimlik Doğrulama

Cvisioner API'ye erişim için tüm isteklerde geçerli bir kimlik doğrulama bilgisi gönderilmelidir. Kimlik doğrulama Supabase Auth altyapısı üzerinden sağlanır ve iki temel yöntem desteklenir.

1. JWT Bearer Token

Kullanıcı oturumu açtığında Supabase Auth tarafından bir JWT (JSON Web Token) oluşturulur. Bu token, API isteklerinde Authorization başlığında gönderilir.

curl -X GET "https://api.cvisioner.com/v1/profile.me" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
  -H "Content-Type: application/json"

Token Elde Etme

Supabase Auth istemcisi üzerinden oturum açarak token alabilirsiniz:

import { createClient } from "@supabase/supabase-js";

const supabase = createClient(
  "https://your-project.supabase.co",
  "your-anon-key"
);

// E-posta ile giriş
const { data, error } = await supabase.auth.signInWithPassword({
  email: "user@example.com",
  password: "your-password",
});

// JWT token
const token = data.session?.access_token;

Token Yenileme

JWT token'ların süresi 1 saat sonra dolar. Supabase istemcisi otomatik yenileme yapar, ancak sunucu tarafında manuel yenileme gerekebilir:

const { data, error } = await supabase.auth.refreshSession();
const newToken = data.session?.access_token;

Token süresi dolduğunda API 401 Unauthorized yanıtı döner. Bu yanıtı aldığınızda token'ı yenileyip isteği tekrarlayın.

2. API Anahtarı

Sunucudan sunucuya (server-to-server) iletişim için API anahtarları kullanılır. API anahtarları uzun ömürlüdür ve kullanıcı oturumuna bağlı değildir.

Anahtar Oluşturma

  1. Yönetim Paneli > Ayarlar > API Anahtarları
  2. Yeni Anahtar Oluştur butonuna tıklayın
  3. İsim ve izin kapsamını (scope) belirleyin
  4. Anahtarı güvenli bir yere kaydedin

Kullanım

curl -X GET "https://api.cvisioner.com/v1/jobs.list" \
  -H "Authorization: Bearer cvs_live_abc123def456..." \
  -H "Content-Type: application/json"

Anahtar Formatı

OrtamPrefixÖrnek
Productioncvs_live_cvs_live_abc123def456...
Testcvs_test_cvs_test_xyz789ghi012...

Dikkat: API anahtarlarını kaynak kodunuzda veya istemci tarafında asla açık olarak yazmayın. Ortam değişkenleri kullanın.

3. OAuth 2.0 (Üçüncü Parti Uygulamalar)

Üçüncü parti uygulamalar için OAuth 2.0 Authorization Code akışı desteklenir:

Akış

  1. Kullanıcıyı yetkilendirme sayfasına yönlendirin:
https://auth.cvisioner.com/authorize?
  client_id=YOUR_CLIENT_ID&
  redirect_uri=https://yourapp.com/callback&
  response_type=code&
  scope=read:jobs read:applications
  1. Kullanıcı onay verdikten sonra callback URL'inize code parametresi ile yönlendirilir

  2. Kodu token ile değiştirin:

curl -X POST "https://auth.cvisioner.com/token" \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "authorization_code",
    "code": "AUTH_CODE",
    "client_id": "YOUR_CLIENT_ID",
    "client_secret": "YOUR_CLIENT_SECRET",
    "redirect_uri": "https://yourapp.com/callback"
  }'
  1. Yanıtta access_token ve refresh_token döner

İzin Kapsamları (Scopes)

ScopeAçıklama
read:jobsİş ilanlarını okuma
write:jobsİş ilanı oluşturma/düzenleme
read:applicationsBaşvuruları okuma
write:applicationsBaşvuru gönderme
read:profileProfil bilgilerini okuma
write:profileProfil güncelleme

Güvenlik Önerileri

  • API anahtarlarını ortam değişkenlerinde saklayın, kaynak koduna yazmayın
  • Production ortamında yalnızca cvs_live_ prefix'li anahtarlar kullanın
  • Kullanılmayan anahtarları yönetim panelinden iptal edin
  • Token yenileme mantığını uygulamanıza mutlaka ekleyin
  • OAuth uygulamalarında PKCE akışını tercih edin
  • Tüm istekleri HTTPS üzerinden gönderin

On this page