Hitelesítés és engedélyezés mobilalkalmazásokhoz az Azure App Service-ben

Ez a cikk bemutatja, hogyan működik a hitelesítés és az engedélyezés az App Service háttérrendszerrel rendelkező natív mobilalkalmazások fejlesztésekor. Az App Service integrált hitelesítést és engedélyezést biztosít, így mobilalkalmazásai kód módosítása nélkül is bejelentkezhetnek a felhasználókba az App Service-ben. Egyszerű módot kínál az alkalmazás védelmére és a felhasználónkénti adatokkal való munkavégzésre.

Figyelmeztetés

Ez a cikk az Azure Mobile Apps ügyféloldali SDK 4.2.0-s verziójával foglalkozik. Az aktuális kiadás új hitelesítési mechanizmust használ, és nem támogatja Azure-alkalmazás Szolgáltatáshitelesítés > engedélyezését.

Az App Service-ben a hitelesítés és az engedélyezés működéséről további információt a hitelesítés és az engedélyezés az Azure-alkalmazás Service-ben című témakörben talál.

Hitelesítés szolgáltatói SDK-val

Miután minden konfigurálva van az App Service-ben, módosíthatja a mobilalkalmazásokat, hogy bejelentkezhessenek az App Service-be. Itt két megközelítés létezik:

  • Használjon egy olyan SDK-t, amelyet egy adott identitásszolgáltató tesz közzé identitás létrehozásához, majd szerezzen hozzáférést az App Service-hez.
  • Használjon egyetlen kódsort, hogy a Mobile Apps ügyféloldali SDK bejelentkezhesse a felhasználókat.

Tipp.

A legtöbb alkalmazásnak szolgáltatóIDK-t kell használnia, hogy konzisztensebb felhasználói élményt nyújtson a felhasználók bejelentkezésekor, használjon jogkivonat-frissítési támogatást, és hogy a szolgáltató által megadott egyéb előnyöket is igénybe vegye.

Szolgáltatói SDK használata esetén a felhasználók olyan felületre jelentkezhetnek be, amely szorosabban integrálható azzal az operációs rendszerrel, amelyen az alkalmazás fut. Ez a módszer egy szolgáltatói jogkivonatot és néhány felhasználói információt is biztosít az ügyfélről, ami sokkal egyszerűbbé teszi a gráf API-k használatát és a felhasználói élmény testreszabását. Ezt a metódust "ügyfélfolyamatnak" vagy "ügyfél által irányított folyamatnak" is nevezik, mivel az ügyfél kódja bejelentkezik a felhasználókba.

A szolgáltatói jogkivonat beszerzése után az App Service-nek kell elküldeni ellenőrzés céljából. Azure-alkalmazás szolgáltatás ellenőrzi a jogkivonatot. A szolgáltatás ezután létrehoz egy új jogkivonatot az ügyfél számára. A Mobile Apps ügyféloldali SDK segítő metódusokkal kezeli ezt a cserét, és automatikusan csatolja a jogkivonatot az alkalmazás háttérrendszeréhez tartozó összes kéréshez. A szolgáltatói jogkivonatra is hivatkozhat.

Megjegyzés:

Egyes platformok, például a Windows (WPF) csak ügyfél által irányított folyamatokkal működnek. Mások egyformán jól működnek a kiszolgálói és az ügyfélfolyamatokkal is. Ha a platform csak az ügyfél által irányított folyamattal működik, a rövid útmutató ezt fogja megjeleníteni.

A hitelesítési folyamatról további információt az App Service hitelesítési folyamatában talál.

Hitelesítés szolgáltatói SDK nélkül

Ha nem szeretne szolgáltatói SDK-t beállítani, engedélyezheti, hogy a Azure-alkalmazás szolgáltatás kezelje a bejelentkezést. Az Azure Mobile Apps ügyféloldali SDK megnyit egy webes nézetet a választott szolgáltató számára, és bejelentkezik a felhasználóba. Ezt a metódust "kiszolgálói folyamatnak" vagy "kiszolgáló által irányított folyamatnak" nevezzük, mivel a kiszolgáló kezeli a felhasználókat bejelentkező folyamatot. Az ügyfél SDK soha nem kapja meg a szolgáltatói jogkivonatot.

Jogkivonat küldése az ügyfél által irányított folyamatból

Az ügyfél által irányított folyamat használatakor először szerezze be azokat a releváns információkat, amelyeket Azure-alkalmazás szolgáltatásnak ellenőriznie kell a jogkivonatot. A legtöbb esetben a jogkivonat egy hozzáférési jogkivonat lesz. További információkért tekintse meg a Azure-alkalmazás szolgáltatás dokumentációját.

Ezután létrehozhatja a megfelelő JSON-objektumot. Ha például az MSAL használatával végez ügyfél által irányított folyamatot a .NET-en egy WPF-alkalmazásban, a következő kódot használhatja:

var requestBody = new JObject(new JProperty("access_token", authResult.AccessToken));
var userInfo = await mobileClient.login("aad", requestBody);

A kérelem törzsének meg kell felelnie a dokumentációban meghatározott elvárásoknak.