Nejčastější dotazy

Obor MSAL4J

Jaké jsou hlavní funkce MSAL?

Získání tokenu ze služby tokenů zabezpečení (STS) pro klientskou aplikaci pro přístup k chráněnému prostředku

Co je MSAL4J?

MSAL je k dispozici pro mnoho programovacích jazyků a platforem. MSAL4J je navržený tak, aby se používal v libovolné aplikaci, která běží na Java virtuálním počítači.

Jaké standardní protokoly msAL sleduje při získávání tokenů?

MSAL implementuje vlastní verzi protokolu OAuth2. V některých konkrétních scénářích může interně používat jiné protokoly (např. WS-Trust).

Je MSAL obecnou knihovnou pro získání tokenů pomocí protokolu OAuth2?

Ne. MSAL je klientská knihovna pro Microsoft Entra ID, Služby Active Directory Federation (ADFS) a službu Azure Active Directory B2C. Existují některé vlastní pojmy, jako je například "prostředek" vyžadovaný ADAL, které se považují za rozšíření obecné specifikace protokolu OAuth2 a nepodporují se jinými službami STS.

Postupné navýšení API

Mám vypnout ověření autority předáním hodnoty false do konstruktoru?

Záleží na tom, s jakým typem autority mluvíte. Pokud se jedná o službu AD FS, musíte předat hodnotu false, protože služba AD FS v současné době nepodporuje ověřování autority. Pokud jde o Microsoft Entra ID, stále máte možnost předat hodnotu false, ale doporučuje se nastavit ji na true, zejména pokud adresu autority získáte od třetí strany (např. prostřednictvím výzvy 401 challenge). Toto je ochrana aplikací a uživatelů před přesměrováním na škodlivé koncové body, aby zadali své přihlašovací údaje.

Kterou přetíženou variantu metody AcquireToken mám použít?

Závisí na typu klientské aplikace, kterou používáte, a na scénáři, pro který potřebujete token. Přečtěte si pokyny popsané v části Získání tokenů.

Odstraňování chyb

Jaké jsou běžné důvody selhání při používání knihovny MSAL?

Problémy v MSAL mohou mít různé příčiny. Jedná se o běžné viníky:

  1. U vašeho počítače dochází k problémům s připojením.
  2. Vaše aplikace nebo uživatelé nejsou správně nakonfigurované ve službě Microsoft Entra ID nebo službě AD FS.
  3. Pro úlohu používáte nesprávné rozhraní API (MSAL má několik podobných přetížení pro metodu AcquireToken).
  4. V MSAL došlo k chybě! Ano, to je vždy možné. Pokud jste si jistí, že příčinou selhání není žádná z výše uvedených položek, nahlašte nám ji, a pokud existuje, prošetříme a opravíme chybu.

Jaké nástroje můžu použít k diagnostice problému v ADAL?

Můžete použít několik diagnostických nástrojů:

  1. Ukázky MSAL: Prvním nejlepším nástrojem je sada ukázek publikovaných společně s knihovnou MSAL (v úložišti knihoven a také ukázky publikované v organizaci AzureSamples GitHub). Zkuste najít nejbližší ukázku k vaší aplikaci a stáhnout ji a spustit na svém počítači. Pokud ukázka funguje správně, musíte ve své aplikaci postupovat stejným postupem jako ukázková aplikace.
  2. Diagnostické protokoly MSAL: Protokolování můžete povolit. Tím se zapíše několik záznamů do protokolu obsahujících informace o interních krocích knihovny MSAL. Můžete analyzovat protokoly a zjistit problém. V případě, že se obrátíte na tým MSAL, musíte také odeslat protokoly, které vám s analýzou pomůžou. Pokyny k zapnutí protokolů MSAL najdete v oficiální dokumentaci.
  3. Trasování sítě: Použijte nástroj, jako je Fiddler , ke záznamu veškeré komunikace HTTP MSAL se serverem. Používání Fiddleru je obzvláště snadné na stolních počítačích Windows. Pokud se účastníme diagnostiky vašeho problému, nasdílejte soubor trasování sítě s týmem MSAL.

Jaký druh chyb se vrátí ze služby MSAL jako výjimka a jaký druh se uživateli nahlásí?

Většina chyb je vrácena z MSAL ve formě výjimky; Existují však omezené případy, kdy nástroj MSAL zobrazuje chybu v ovládacím prvku prohlížeče. K těmto případům dochází většinou v případě, že klient není možné ověřit nebo nelze dosáhnout serveru autority.

Má MSAL nějaký druh logiky opakování uvnitř?

Ne. Pokud operace selže, MSAL ohlásí chybu pomocí výjimky. Výjimka zahrnuje kód chyby a také stavový kód pro případ, že se chyba vrátí od autority. V takových případech je úkolem vývojáře prozkoumat stavový kód (který většinou odráží stavový kód HTTP odpovědi) v výjimce a rozhodnout se, jestli se má opakovat nebo ne. 502 je obvykle stavový kód, který zaručuje opakování.

Model vydávání verzí MSAL

Jak často msAL vydává novou verzi?

Neexistuje žádný předem určený plán. Snažíme se velmi pravidelně vydávat servisní vydání, abychom opravili chyby a odblokovali zákazníky. Hlavní verze obvykle trvá déle a před obecnou dostupností hlavní verze vydáváme několik verzí Preview.

Jaký je model kompatibility verzí MSAL?

Cílem je udržovat zpětnou kompatibilitu v rámci hlavní verze. Proto se v servisních vydáních snažíme pouze opravovat chyby nebo přidávat nové funkce (která zvyšují vedlejší verzi). Mezi hlavními verzemi však neexistuje žádná záruka kompatibility. Můžeme přidat nebo odebrat podporu pro určité platformy nebo scénáře, proto doporučujeme plně porozumět rozsahu změn a plně otestovat novou verzi před přepnutím do produkčního kódu.