İçeriğe atla
%100 yerel

PKCE doğrulayıcı ve şifre oluşturucu

OAuth 2.0 PKCE için kriptografik olarak güvenli code_verifier ve code_challenge oluşturun.

43
Çıkış

PKCE doğrulayıcı ve şifre oluşturucu

Bu araç, OAuth 2.0 Authorization Code akışı için RFC 7636'ya uygun bir PKCE code_verifier ve onun code_challenge'ını oluşturur. Tek sayfalı uygulamalar, mobil uygulamalar veya bir istemci sırrını güvenli bir şekilde saklayamayan ve yetkilendirme kodunun araya girmesine karşı korunması için Kanıt Anahtarı gereksiyen herhangi bir genel istemciyi bağlayan geliştiriciler için tasarlanmıştır.

Code_verifier, yalnızca RFC 3986 ayrılmış karakterlerinden (A–Z, a–z, 0–9, "-", ".", "_", "~") oluşan kriptografik olarak rastgele bir dizedir, 43 ile 128 karakter arasında uzunluğundadır — kaydırıcıyı kullanarak tam uzunluğu seçin. Şifre yöntemi, code_challenge'ın nasıl türetildiğini kontrol eder: S256, doğrulayıcıyı SHA-256 ile karma oluşturur ve özeti base64url olarak kodlar ve bu, her mevcut OAuth kılavuzunun ve yetkilendirme sunucusunun beklediği şeydir. Plain yöntemi, doğrulayıcıyı şifreye değişmeden kopyalar; istemci SHA-256'yı gerçekten hesaplayamayan kısıtlı istemciler için spesifikasyonda mevcuttur, müdahaleye karşı hiçbir koruma sağlamaz ve bu araç bunu uygun şekilde işaretler.

Çıktı, ham code_verifier ve code_challenge'ı, seçtiğiniz yöntemi ve code_challenge=...&code_challenge_method=... şeklinde hazır bir sorgu dizesi içerir — bu, doğrudan bir yetkilendirme isteği URL'sine eklenebilir. Doğrulayıcıyı ayrı olarak hatırlayın: daha sonraki belirteç isteğine ait, yetkilendirme isteğine değil ve her giriş denemesi için yeni bir çift oluşturulmalı, yeniden kullanılmamalıdır.

Tüm oluşturma tarayıcınızda yerel olarak gerçekleşir, Web Crypto API'nin şifreleme açısından güvenli rastgele kaynağı ve SHA-256 uygulaması kullanılarak — hiçbir şey sunucuya yüklenmez, günlüğe kaydedilmez veya saklanmaz. Yeni bir doğrulayıcı ve şifre için "Yeni çift oluştur"a tıklayın, çıktıyı kopyalayın veya .txt dosyası olarak indirin.

FAQ

PKCE nedir ve buna neden ihtiyacım var?
PKCE (Kanıt Anahtarı Code Exchange için, RFC 7636), sırrı saklayamayan istemciler için OAuth 2.0 Authorization Code akışını korur; örneğin tek sayfalı uygulamalar ve mobil uygulamalar. Yetkilendirme isteğini, bir rasgele sır ile belirteç isteğine bağlayarak, çalınan bir yetkilendirme kodunun başka biri tarafından kullanılmasını engeller.
S256 mi yoksa plain seçmeliyim?
İstemciniz SHA-256'yı gerçekten hesaplayamadığı sürece S256 kullanın. Plain modunda, code_challenge code_verifier'a eşittir, bu nedenle yetkilendirme isteğini ele geçiren bir saldırgan kodu değiştirmek için gerekli her şeye zaten sahiptir — S256, modern yetkilendirme sunucularının beklediği ve genellikle kabul ettikleri tek yöntemdir.
Birden fazla giriş için aynı doğrulayıcıyı ve şifreyi kullanabilir miyim?
Hayır. Her yetkilendirme denemesi için yeni bir çift oluşturun. Doğrulayıcı, tek bir akışa bağlı bir kerelik sırdır, uygulamanızın kodladığı sabit bir değer değildir.
Code_verifier ve code_challenge nereye gider?
Code_challenge ve code_challenge_method ilk yetkilendirme isteği URL'sine gider. Code_verifier daha sonra, yetkilendirme kodunu jetonlarla değiştiren belirteç isteğine gider — istemci tarafında belleğe veya oturum depolama alanına kadar tutun.
Oluşturulan doğrulayıcı valaha yükleniyor mu?
Hayır. Oluşturma tamamen tarayıcınızda Web Crypto API'si kullanılarak gerçekleşir. Hiçbir şey sunucuya gönderilmez, günlüğe kaydedilmez veya kendi oturumunuz dışında saklanmaz.