Gyakori kérdések

MSAL4J-hatókör

Mi az MSAL fő funkciója?

Jogkivonat beszerzése egy biztonsági jogkivonat-szolgáltatásból (STS) egy ügyfélalkalmazáshoz egy védett erőforrás eléréséhez.

Mi az az MSAL4J?

Az MSAL számos programozási nyelvhez és platformhoz elérhető. Az MSAL4J a Java virtuális gépen futó alkalmazásokban használható.

Milyen szabványos protokollokat követ az MSAL a jogkivonatok beszerzéséhez?

Az MSAL az OAuth2 protokoll egyéni verzióját implementálja. Bizonyos konkrét forgatókönyvek esetében belsőleg más protokollokat (például WS-Trust) is használhat.

Az MSAL egy általános kódtár a jogkivonatok OAuth2 protokollal történő beszerzéséhez?

Nem. Az MSAL egy ügyfélkódtár Microsoft Entra ID, Active Directory összevonási szolgáltatások (AD FS) (ADFS) és Azure Active Directory B2C számára. Vannak olyan egyéni fogalmak, mint például az ADAL által megkövetelt "erőforrás", amelyek az általános OAuth2 protokoll specifikációjának bővítményei, és más STS-ek által nem támogatottak.

API felfuttatása

Kapcsoljam ki a hitelesítést úgy, hogy hamisat adok át a konstruktornak?

Attól függ, hogy milyen típusú hatósághoz beszél. Ha ADFS-t használ, false értéket kell átadnia, mivel az ADFS jelenleg nem támogatja a hitelesítési szolgáltató ellenőrzését. Ha Microsoft Entra ID-ról van szó, továbbra is lehetősége van false értéket megadni, de javasolt inkább a true értéket használni, különösen akkor, ha az authority címét harmadik féltől kapja meg (például egy 401-es kihíváson keresztül). Ennek célja, hogy megvédje az alkalmazásokat és a felhasználókat attól, hogy rosszindulatú végpontokra irányítsák át a hitelesítő adataikat.

Az AcquireToken melyik túlterhelt változatát hívjam meg?

Ez attól függ, hogy milyen típusú ügyfélalkalmazást használ, és milyen helyzetben van szüksége tokenre. Tekintse meg a Tokenek beszerzése című témakörben dokumentált útmutatást.

Debugging

Milyen gyakori okai vannak az MSAL használatának sikertelenségének?

Az MSAL problémáinak különböző okai lehetnek. Ezek a gyakori bűnösök:

  1. A gép csatlakozási problémái vannak.
  2. Az alkalmazások/felhasználók nincsenek megfelelően konfigurálva Microsoft Entra ID vagy ADFS-en.
  3. Helytelen API-t használ a feladathoz (az MSAL számos hasonló túlterheléssel rendelkezik a AcquireToken metódushoz).
  4. Hiba történt az MSAL-ben! Igen, ez mindig lehetséges. Ha biztos abban, hogy a fenti elemek egyike sem okozza a hibát, kérjük, jelentse nekünk, és kivizsgáljuk és kijavítjuk a hibát, ha létezik.

Milyen eszközökkel diagnosztizálhatok problémát az ADAL-ban?

Számos diagnosztikai eszköz használható:

  1. MSAL-minták: Az első legjobb eszköz az MSAL-val együtt közzétett minták készlete (a tárházon belül, valamint az AzureSamples GitHub szervezetben közzétett minták). Próbálja meg megkeresni az alkalmazáshoz legközelebbi mintát, majd töltse le és futtassa a gépen. Ha a minta megfelelően működik, az alkalmazásában ugyanazokat a lépéseket kell követnie, mint a mintaalkalmazásban.
  2. MSAL diagnosztikai naplók: Engedélyezheti a naplózást. Ez az MSAL belső lépéseivel kapcsolatos információkat tartalmazó naplókat fog írni. Elemezheti a naplókat a probléma megkereséséhez. Ha kapcsolatba lép az MSAL csapatával, a naplókat is el kell küldenie, hogy segítsenek az elemzésben. Az MSAL-naplók bekapcsolására vonatkozó utasításokat a hivatalos dokumentációban találja
  3. Hálózati nyomkövetések: Használjon egy olyan eszközt, mint a Fiddler , amellyel rögzíthető az MSAL által a kiszolgálóval folytatott összes http-kommunikáció. A Fiddler használata különösen egyszerű Windows asztali gépeken. Ossza meg a hálózati nyomkövetési fájlt az MSAL csapatával abban az esetben, ha részt veszünk a probléma diagnosztizálásában.

Milyen típusú hibákat ad vissza az MSAL kivételként, és milyen típusú jelentést küld a felhasználónak?

A legtöbb hiba kivétel formájában jelenik meg az MSAL-ból; Vannak azonban korlátozott esetek, amikor az MSAL megjeleníti a hibát a böngésző vezérlőjében. Ezek az esetek többnyire akkor fordulnak elő, ha az ügyfél nem érvényesíthető, vagy a szolgáltatói kiszolgáló nem érhető el.

Van az MSAL-ben valamilyen újrapróbálkozási logika?

Nem. Ha egy művelet meghiúsul, az MSAL hibát jelez egy kivételen keresztül. A kivétel tartalmaz egy hibakódot és egy állapotkódot is, ha a hibát a szolgáltató adja vissza. Ilyen esetekben a fejlesztő feladata az állapotkód vizsgálata (amely többnyire a válasz http-állapotkódját tükrözi) a kivételben, és eldönti, hogy újra próbálkozik-e vagy sem. Az 502 általában az az állapotkód, amely újrapróbálkozási parancsot ad.

MSAL kiadási modell

Milyen gyakran ad ki új verziót az MSAL?

Nincs előre meghatározott ütemezés. Megpróbáljuk rendszeresen közzétenni a karbantartási kiadásokat, hogy kijavítsuk a hibákat és feloldjuk az ügyfelek letiltását. A fő kiadások általában hosszabb időt vesznek igénybe, és több előzetes verziót is kiadunk, mielőtt általánosan elérhetővé tesszük a főverziókat.

Mi az MSAL-verziók kompatibilitási modellje?

A cél a korábbi kompatibilitás fenntartása egy főverzión belül. Ennek érdekében a szervizkiadásokban csak hibajavításokat végzünk, illetve új funkciókat adunk hozzá (amelyek növelik a másodlagos verziószámot). A főverziók között azonban nincs kompatibilitási garancia. Bizonyos platformok vagy forgatókönyvek támogatását hozzáadhatjuk vagy eltávolíthatjuk, ezért javasoljuk, hogy teljes mértékben megértse a módosítások hatókörét, és tesztelje az új verziót, mielőtt az éles kódban rá váltana.