Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 1|Yanıt: 0

OIDC'de PKCE'nin code_challenge ve code_vertifier anlama

[Bağlantıyı kopyala]
Yayınlandı19 saniye önce | | | |
OAuth 2.0, birden fazla yetkilendirme modu sunar; bunlar arasında en yaygın kullanılan ve güvenli olanı Yetkilendirme Kodu Vermesidir. code_challenge, bu modda güvenlik açısından geliştirilmiş bir özellik olup, esas olarak PKCE (Kod Değişimi İçin Kanıt Anahtarı) mekanizması için kullanılır.

PKCE nedir?

PKCE (Kod Değişimi İçin Proof Anahtar), özellikle JavaScript uygulamaları veya tarayıcılarda çalışan mobil uygulamalar gibi kamuya açık istemcilerde kullanıldığında, OAuth 2.0 yetkilendirme kodu deseninin güvenliğini artırmak için tasarlanmış bir uzantıdır. PKCE, yetkilendirme taleplerine ek bir kimlik doğrulama adımı ekleyerek yetkilendirme kodlarının ele geçirilmesini ve kötüye kullanılmasını önler.

code_challenge Rol

code_challenge, yetkilendirme talebi aşamasında oluşturulan ve gönderilen PKCE mekanizmasının bir parçasıdır. S256 gibi bir hashing algoritması ile dönüştürülen gizli bir değere (code_verifier denir) dayanır. code_challenge'nin amacı, sonraki token talepleri için doğrudan code_verifier açığa çıkmadan doğrulama temeli sağlamaktır.

code_challenge ve code_verifier üretimi ve kullanımı

code_verifier. Nesil:
code_verifier, yüksek entropili, rastgele oluşturulan bir dizidir,Karakter uzunluğu (43 ile 128 arasında). Varsayılan değer 43'tür.。

code_challenge. Nesil:
code_verifier kullanılarak, code_challenge bir hashing algoritması (örneğin S256) aracılığıyla oluşturulur. S256 için code_challenge, code_verifier SHA-256 hash değerinin Base64 URL kodlamasıdır, ancak kodlamadan = dolgu karakteri çıkarılmalı ve çıktı uzunluğu 43 karakter olmalıdır (çünkü Base64 URL kodlamasından sonra her 4 karakter 3 baytı temsil eder, ancak son karakter bloğu 4 karakterden az olabilir, bu yüzden = karakter çıkarıldıktan sonra uzunluk biraz değişebilir).

Yetkilendirme isteklerinde code_challenge kullanın:
Yetkilendirme talebi başlatıldığında, code_challenge istek parametrelerinden biri olarak yetkilendirme sunucusuna gönderilir.

Token isteklerinde code_verifier kullanımı:
Yetkilendirme sunucusu yetkilendirme kodunu döndürdüğünde, istemci bu kodu ve önceden oluşturulan code_verifier kullanarak token uç noktasına erişim talep eder. Yetkilendirme sunucusu, code_challenge ve code_verifier eşleşip eşleşmediğini doğrular ve isteğin orijinal istemci tarafından başlatıldığından önlenir.

PKCE üretimi

Çevrimiçi PKCE Üretim Araçları:Bağlantı girişi görünür.

C# kodu şu şekilde oluşturulur:
Aşağıda gösterildiği gibi:



Referans:

Bağlantı girişi görünür.
Bağlantı girişi görünür.




Önceki:.NET/C# JWT token imzasının geçerliliğini doğrulamak için iki yöntem
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com