API'nizde JWT (JSON Web Token) kimlik doğrulamasını yeni uyguladınız. Zarif, durumsuz ve güvenli. Ancak şimdi kritik kısım geliyor: onu kapsamlı bir şekilde test etmek. Korumalı uç noktalarınızın belirteçsiz (token'sız) istekleri doğru şekilde reddettiğini nasıl doğrulayabilirsiniz? Belirteç süresi dolmasını nasıl test edersiniz? Farklı kullanıcı rollerini nasıl simüle edersiniz?
Eğer curl komutlarına başvuruyor veya tek seferlik betikler (script'ler) yazıyorsanız, çok daha iyi bir yöntem keşfetmek üzeresiniz. Apidog, JWT testini sıkıcı bir iş olmaktan çıkarıp, akıcı ve güçlü bir iş akışına dönüştürür.
Bu kılavuzda, Apidog kullanarak API'lerde JWT kimlik doğrulamasını tam olarak nasıl test edeceğinizi, nasıl yapılandıracağınızı, doğrulamayı nasıl otomatikleştireceğinizi ve yaygın tuzaklardan nasıl kaçınacağınızı adım adım inceleyeceğiz. Ayrıca, Apidog'un desteklediği tüm kimlik doğrulama yöntemlerini ele alacağız, böylece kullandığınız teknoloji yığını ne olursa olsun güvende olduğunuzu bileceksiniz.
Şimdi, Apidog ile JWT kimlik doğrulama testinde nasıl uzmanlaşacağımızı ve desteklediği geniş yelpazedeki kimlik doğrulama yöntemlerini keşfedelim.
JWT Testi Neden Çok Önemli?
JWT kimlik doğrulaması, modern API'leri güvence altına almak için bir standart haline geldi. Ancak gücüyle birlikte, titiz testler gerektiren karmaşıklık da geliyor:
- Belirteç Doğrulaması: API'niz belirteç imzasını doğru şekilde doğruluyor mu?
- Uç Nokta Koruması: Uç noktalarınız geçerli bir belirteç olmadan gerçekten korunuyor mu?
- Rol Tabanlı Erişim Kontrolü (RBAC): Farklı belirteçler (farklı taleplerle) doğru erişim seviyelerini alıyor mu?
- Belirteç Süresi Dolması: API'niz süresi dolmuş belirteçleri düzgün bir şekilde reddediyor mu?
- Hata Yönetimi: Faydalı mesajlarla birlikte açık
401 Yetkilendirilmemişyanıtlar döndürüyor musunuz?
Bu senaryoları komut satırı araçları veya tarayıcı eklentileriyle manuel olarak test etmek sıkıcı ve hataya açık bir iştir. Apidog, tüm bunları ele almak için merkezi, görsel ve otomatik bir yaklaşım sunar.
Başlarken: Apidog'da JWT Kimlik Doğrulamanızı Ayarlamak

Apidog, JWT kimlik doğrulamasını yapılandırmayı sezgisel hale getirir. Adım adım inceleyelim.
Adım 1: Kimlik Doğrulama İsteğinizi Oluşturun
Öncelikle, kimlik doğrulama uç noktanızdan (örneğin, POST /api/auth/login) bir JWT belirteci (token) almanız gerekir.
Apidog'da yeni bir POST isteği oluşturun.
URL'yi oturum açma (login) uç noktanıza ayarlayın.
Body sekmesinde, gerekli kimlik bilgilerini (genellikle {"username": "test", "password": "test"} gibi JSON) ekleyin.
İsteği gönderin. Gövdesinde bir belirteç (token) bulunan, genellikle şöyle görünen bir 200 OK yanıtı almalısınız:
{
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "bearer",
"expires_in": 3600
}
Adım 2: Belirteci Çıkarın ve Saklayın
Apidog'un öne çıktığı yer burasıdır. Her istek için belirteci manuel olarak kopyalamak yerine, bunu otomatikleştirebilirsiniz.
Oturum açma isteğinizin Tests sekmesinde, yanıtdan belirteci çıkarmak ve onu bir ortam değişkeni olarak kaydetmek için bir betik (script) ekleyin.
// Apidog Test Script Example
const responseJson = pm.response.json();
// Extract the access_token from the response
const accessToken = responseJson.access_token;
// Store it in an environment variable named 'jwt_token'
pm.environment.set("jwt_token", accessToken);
İsteği çalıştırın. Apidog bu betiği yürütecek ve belirteci aktif ortamınıza kaydedecektir.
Adım 3: Korumalı Uç Noktalar İçin JWT Taşıyıcı (Bearer) Kimlik Doğrulamasını Yapılandırın
Şimdi, JWT kimlik doğrulaması gerektiren herhangi bir uç nokta (örneğin, GET /api/users/me) için:
- Korumalı uç noktanıza yeni bir istek oluşturun.
- Auth sekmesine gidin.
- Type açılır menüsünden "JWT Bearer" seçeneğini seçin.
Kurulumun kalbi burasıdır. Apidog'un JWT Taşıyıcı (Bearer) kimlik doğrulama türü, bu standart için özel olarak tasarlanmıştır.
- Token alanında, kayıtlı ortam değişkeninize çift süslü parantez kullanarak referans verebilirsiniz:
{{jwt_token}}. - Prefix alanı genellikle
Bearer'dır (bu, bu kimlik doğrulama türü için standarttır ve Apidog tarafından otomatik olarak uygulanır).
Arka planda ne olur? Bu isteği gönderdiğinizde, Apidog Authorization başlığını sizin için otomatik olarak biçimlendirir:
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Manuel başlık düzenlemesi gerekmez!
Apidog ile Gelişmiş JWT Test İş Akışları
1. Belirteç Süresi Dolumu ve Yenileme Testi
Sağlam bir test, API'nizin süresi dolmuş belirteçleri nasıl işlediğini kontrol etmelidir.
- Süresi Dolmayı Simüle Edin:
jwt_tokenortam değişkenini süresi dolmuş bir belirteç dizesine manuel olarak değiştirebilir ve korumalı uç nokta isteklerinizi yeniden çalıştırabilirsiniz. Bunlar401 Yetkilendirilmemişyanıtı döndürmelidir. - Yenileme Akışını Otomatikleştirin: API'nizin bir yenileme belirteci uç noktası (
POST /api/auth/refresh) varsa, Apidog'da bir test dizisi oluşturabilirsiniz:
- Süresi dolmuş bir belirteçle korumalı bir uç noktaya istek gönderin (
401beklenir). - Yeni bir
access_tokenalmak için yenileme belirteciyle yenileme uç noktasını çağırın. jwt_tokenortam değişkenini yeni belirteçle otomatik olarak güncelleyin.- Orijinal korumalı uç noktayı tekrar deneyin (şimdi
200 OKbekleniyor).
2. Rol Tabanlı Erişim Kontrolü (RBAC) Testi
"role": "user" talebine sahip bir kullanıcının yönetici uç noktalarına erişemediğini test edin.
- Farklı kullanıcı belirteçleri için ayrı ortam değişkenleri oluşturun:
{{admin_jwt_token}}ve{{user_jwt_token}}. - Yalnızca yöneticilere özel bir uç nokta (örneğin,
DELETE /api/users/123) için Apidog'da iki test durumu oluşturun:
- Test Durumu A:
{{admin_jwt_token}}kullanın. Beklenen:200 OKveya204 İçerik Yok. - Test Durumu B:
{{user_jwt_token}}kullanın. Beklenen:403 Yasak.
3. RBAC mantığınızın her zaman uygulandığından emin olmak için bunları otomatik bir test paketinin parçası olarak çalıştırabilirsiniz.
3. Bozuk veya Geçersiz Belirteçleri Test Etme
Apidog, uç durumları test etmeyi kolaylaştırır:
- Belirteç Yok: Bir istek için kimlik doğrulama yapılandırmasını devre dışı bırakın veya kaldırın ve gönderin.
401aldığınızı doğrulayın. - Bozuk Belirteç:
jwt_tokendeğişkenini"invalid"gibi rastgele bir dizeye ayarlayın ve isteği gönderin.401döndürmelidir. - Kurcalanmış İmza: Geçerli bir JWT'yi çözmek, bir talebi değiştirmek ve yanlış bir imzayla yeniden kodlamak için çevrimiçi araçları kullanabilirsiniz. Bu kurcalanmış belirteci ortamınıza kaydedin ve onunla test edin.
JWT'nin Ötesinde: Apidog'da Kimlik Doğrulamanın Tüm Spektrumu

JWT Taşıyıcı (Bearer) son derece yaygın olsa da, modern API'ler çeşitli kimlik doğrulama yöntemleri kullanır. Apidog'un gücü, bunların tümüne tek bir birleşik arayüzde kapsamlı destek sunmasıdır.
1. API Anahtarı Kimlik Doğrulaması
Makineler arası iletişim için en basit ve en yaygın yöntem.
- Apidog'da: Kimlik Doğrulama türü açılır menüsünden "API Key" seçeneğini seçin.
- Yapılandırma: Anahtarın başlığa (örneğin,
X-API-Key) mı yoksa sorgu parametrelerine mi gideceğini seçin. Anahtar değerinizi girin, bu değer bir ortam değişkenine de başvurabilir:{{api_key}}.
2. Temel Kimlik Doğrulaması (Basic Authentication)
Eski sistemler veya başlangıç oturum açma uç noktaları için sıklıkla kullanılan klasik kullanıcı adı ve parola istemi.
- Apidog'da: "Basic Auth" seçeneğini seçin.
- Yapılandırma: Kullanıcı adını ve parolayı girin. Apidog bunları otomatik olarak base64'e kodlar ve
Authorization: Basic ...başlığını ekler.
3. OAuth 2.0
Kullanıcı yetkilendirme ve delegasyon için endüstri standardı. Apidog'un olağanüstü güçlü hale geldiği yer burasıdır.
- Apidog'da: "OAuth 2.0" seçeneğini seçin.
- Desteklenen Akışlar: Yetkilendirme Kodu akışını (web uygulamaları için en yaygın olanı), İstemci Kimlik Bilgileri akışını (makineler arası için) ve diğerlerini yapılandırma konusunda size rehberlik eder.
- Otomatik Belirteç Yönetimi: Apidog, yetkilendirme sunucusuna yönlendirme, yetkilendirme kodunu yakalama ve onu bir erişim belirteciyle değiştirme dahil olmak üzere tüm OAuth sürecini yönetebilir. Daha sonra belirteci sonraki isteklere otomatik olarak bir Taşıyıcı (Bearer) belirteci olarak ekler.
4. Hawk Kimlik Doğrulaması
Mesaj kimlik doğrulama kodlarını kullanan, daha az yaygın ancak güvenli bir şema.
- Apidog'da: "Hawk Authentication" seçeneğini seçin ve gerekli ID, anahtar ve algoritmayı doldurun.
5. AWS İmzası
Amazon Web Services'ta barındırılan API'leri test etmek için kritik öneme sahiptir.
- Apidog'da: "AWS Signature" seçeneğini seçin.
- Yapılandırma: AWS Erişim Anahtarınızı, Gizli Anahtarınızı, Bölgenizi ve Hizmet adınızı (örneğin,
execute-api) girin. Apidog, karmaşık AWS İmza v4 başlıklarını sizin için otomatik olarak hesaplar ve ekler.
6. Digest Kimlik Doğrulaması
Temel Kimlik Doğrulamadan (Basic Auth) daha güvenli bir meydan okuma-yanıt protokolü.
- Apidog'da: "Digest Auth" seçeneğini seçin ve kullanıcı adını ve parolayı sağlayın.
Bu birleşik yaklaşım, API'nizin her bir uç noktasını, kimlik doğrulama yönteminden bağımsız olarak, aynı proje ve arayüz içinde test edebileceğiniz anlamına gelir.
Sağlam Test Süitleri ve Dokümantasyon Oluşturma
Kimlik doğrulamanızı yapılandırıp uç noktalarınızı manuel olarak test ettikten sonra, Apidog bunu profesyonel düzeyde iş akışlarına dönüştürmenize olanak tanır.
1. Test Koleksiyonları Oluşturma
Belirli bir özellik için tüm istekleri (örneğin, "Kullanıcı Yönetimi") bir koleksiyonda gruplandırın. Tüm JWT korumalı uç noktalarınızın doğru şekilde birlikte çalıştığından emin olarak, tüm koleksiyonu tek bir tıklamayla çalıştırabilirsiniz.
2. Ortamlarla Parametreleştirme
Farklı değişken kümelerini depolamak için farklı Apidog ortamlarını (örneğin, "Geliştirme," "Hazırlık," "Üretim") kullanın. "Geliştirme" ortamındaki {{jwt_token}} yerel sunucunuza işaret edebilirken, "Üretim" ortamında canlı (ancak test) kimlik bilgilerini kullanır. Bağlamları anında değiştirin.
3. Dokümantasyon Oluşturma ve Paylaşma
Apidog, isteklerinizden otomatik olarak güzel, etkileşimli API dokümantasyonu oluşturur. Bu dokümantasyon, hangi uç noktaların JWT Taşıyıcı (Bearer) kimlik doğrulaması gerektirdiğini açıkça gösterecek ve ön uç veya mobil geliştiricileriniz için anında netlik sağlayacaktır.
Sonuç: Sıkıcıdan Dönüştürücüye
JWT kimlik doğrulaması testi artık manuel, kırılgan bir süreç olmak zorunda değil. Apidog, belirteçleri almaktan, uç noktalar için kimlik doğrulamasını yapılandırmaya, hem pozitif hem de negatif senaryoları doğrulayan otomatik test süitleri oluşturmaya kadar tüm yaşam döngüsünü ele alan eksiksiz, entegre bir çözüm sunar.
Desteği, JWT'nin çok ötesine geçerek API Anahtarı, Temel, OAuth 2.0 ve daha fazlası gibi modern API kimlik doğrulama standartlarının tüm yelpazesini aynı sezgisel arayüz içinde kapsar.
Apidog'u benimseyerek, API'nizin çalışıp çalışmadığını sadece kontrol etmekten, güvenlik modelinin sağlam, güvenilir ve üretime hazır olduğunu güvenle doğrulamaya geçersiniz. Belirteçleri kopyalayıp yapıştırmayı bırakın; profesyonel, otomatik bir test stratejisi oluşturmaya başlayın.
