Sık sorulan sorular

MSAL4J Kapsamı

MSAL'nin ana işlevi nedir?

İstemci uygulamasının korumalı bir kaynağa erişmesi için güvenlik belirteci hizmetinden (STS) belirteç alma.

MSAL4J nedir?

MSAL birçok programlama dili ve platformu için kullanılabilir. MSAL4J, Java sanal makinesinde çalışan herhangi bir uygulamada kullanılacak şekilde tasarlanmıştır.

MSAL belirteç alımı için hangi standart protokolleri izler?

MSAL, OAuth2 protokolünün özel bir sürümünü uyguluyor. Ayrıca, bazı belirli senaryolar için şirket içinde başka protokoller (örneğin WS-Trust) kullanabilir.

MSAL, OAuth2 protokolü kullanılarak belirteç alımı için genel bir kitaplık mı?

Hayır MSAL, Microsoft Entra ID, Active Directory Federasyon Hizmetleri (AD FS) (ADFS) ve Azure Active Directory B2C için bir istemci kitaplığıdır. Genel OAuth2 protokolü belirtiminin uzantıları olarak kabul edilen ve diğer STS'ler tarafından desteklenmeyen ADAL'ın gerektirdiği "kaynak" gibi bazı özel ifadeler vardır.

API Ölçeklendirme

Oluşturucuya false geçirerek yetkili doğrulamasını kapatmam gerekir mi?

Ne tür bir yetkiyle konuştuğunuza bağlıdır. Bu ADFS ise, ADFS şu anda yetki doğrulamasını desteklemediğinden false değeri geçirmeniz gerekir. Microsoft Entra ID söz konusuysa yine de false değerini iletme seçeneğiniz vardır; ancak özellikle authority adresini üçüncü bir taraftan alıyorsanız (örneğin, 401 challenge aracılığıyla), bunun true olması önerilir. Bu, uygulamaları ve kullanıcıların kimlik bilgilerini girmek için kötü amaçlı uç noktalara yönlendirilmesini korumaktır.

Hangi AcquireToken aşırı yüklemesini çağırmalıyım?

Kullandığınız istemci uygulamasının türüne ve belirtecin gerekli olduğu senaryoya bağlıdır. BelirteçLeri Alma bölümünde belgelenen kılavuza bakın.

Debugging

MSAL kullanımındaki hatanın yaygın nedenleri nelerdir?

MSAL'daki sorunların çeşitli nedenleri olabilir. Yaygın suçlular şunlardır:

  1. Makinenizde bağlantı sorunları var.
  2. Uygulamalarınız/kullanıcılarınız Microsoft Entra ID veya ADFS'de düzgün yapılandırılmamış.
  3. Göreviniz için yanlış bir API kullanıyorsunuz (MSAL'nin AcquireToken yöntemi için birkaç benzer aşırı yüklemesi var).
  4. MSAL'da bir hata var! Evet, bu her zaman mümkündür. Hatanın nedeninin yukarıdaki öğelerden hiçbirinin olmamasından eminseniz lütfen bunu bize bildirin; varsa hatayı araştırıp düzelteceğiz.

ADAL'da bir sorunu tanılamak için hangi araçları kullanabilirim?

Kullanabileceğiniz çeşitli tanılama araçları vardır:

  1. MSAL Örnekleri: İlk en iyi araç, MSAL ile birlikte yayımlanan örnek kümesidir (kitaplık deposunun içinde ve AzureSamples GitHub kuruluşunda bulunan örnekler). Uygulamanıza en yakın örneği bulup makinenizde indirip çalıştırmayı deneyin. Örnek düzgün çalışıyorsa, uygulamanızda örnek uygulamanın aynı adımlarını izlemeniz gerekir.
  2. MSAL tanılama günlükleri: Günlüğe kaydetmeyi etkinleştirebilirsiniz. Bu, MSAL'nin dahili adımları hakkında bilgi içeren bazı günlük kayıtları oluşturur. Sorunu bulmak için günlükleri analiz edebilirsiniz. Ayrıca, MSAL ekibiyle iletişim kurmanız durumunda analize yardımcı olması için günlükleri göndermeniz gerekir. MSAL günlüklerini açma yönergelerini resmi belgelerde bulabilirsiniz
  3. Ağ izlemeleri: MSAL'nin sunucuyla yaptığı tüm http iletişimlerini kaydetmek için Fiddler gibi bir araç kullanın . Fiddler'ın Windows masaüstü makinelerde kullanılması özellikle kolaydır. Sorununuzu tanılamaya dahil olmamız durumunda lütfen ağ izleme dosyasını MSAL ekibiyle paylaşın.

MSAL'den özel durum olarak ne tür hatalar döndürülür ve kullanıcıya ne tür hatalar bildirilir?

Hataların çoğu özel durum biçiminde MSAL'den döndürülür; ancak, MSAL'nin tarayıcı denetiminde hatayı gösterdiği sınırlı durumlar vardır. Bu durumlar çoğunlukla istemci doğrulanamadıklarında veya yetkili sunucuya ulaşılamadığında oluşur.

MSAL'nin içinde herhangi bir yeniden deneme mantığı var mı?

Hayır bir işlem başarısız olursa, MSAL özel durum aracılığıyla bir hata bildirir. İstisna, bir hata kodu içerir; ayrıca hata yetkili makam tarafından döndürülürse bir durum kodu da içerir. Böyle durumlarda, özel durumda durum kodunu (çoğunlukla yanıtın http durum kodunu yansıtır) incelemek ve yeniden deneyip denememeye karar vermek geliştiricinin işidir. 502 genellikle yeniden denemeyi garanti eden durum kodudur.

MSAL Sürüm Modeli

MSAL ne sıklıkta yeni bir sürüm yayınlar?

Önceden belirlenmiş bir zamanlama yoktur. Hataları düzeltmek ve müşterilerin engelini kaldırmak için hizmet sürümlerini çok düzenli olarak yayımlamaya çalışıyoruz. Ana sürümler genellikle daha uzun sürer ve ana sürümün genel kullanıma sunulmadan önce birkaç önizleme sürümü yayınlarız.

MSAL sürümlerinin uyumluluk modeli nedir?

Amaç, ana sürümde geriye dönük uyumluluğu korumaktır. Bunun için yalnızca hataları düzeltmeye veya hizmet sürümlerine yeni özellikler eklemeye çalışırız (bu da ikincil sürümü artırır). Ancak, ana sürümler arasında uyumluluk garantisi yoktur. Belirli platformlar veya senaryolar için destek ekleyebilir veya kaldırabiliriz, bu nedenle, üretim kodunuzda bu sürüme geçmeden önce değişikliklerin kapsamını tam olarak anlamanız ve yeni sürümü tam olarak test etmenizi öneririz.