Hitelesítés és engedélyezés az Azure App Service-ben mobilalkalmazásokhoz
Jegyzet
Ez a termék ki van állítva. A .NET 8-at vagy újabb verziót használó projektek cseréjét a Community Toolkit Datasync kódtárcímű témakörben talál.
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. A jelenlegi kiadás egy új hitelesítési mechanizmust használ, és nem támogatja az Azure App Service-hitelesítést & engedélyezést ugyanúgy.
A hitelesítés és az engedélyezés App Service-ben való működéséről további információt az Hitelesítés és engedélyezés az Azure App Service-bencí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.
Borravaló
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. Az Azure App Service 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.
Jegyzet
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.
További információ a hitelesítési folyamatról: App Service hitelesítési folyamat.
Hitelesítés szolgáltatói SDK nélkül
Ha nem szeretne szolgáltatói SDK-t beállítani, engedélyezheti, hogy az Azure App Service 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 a jogkivonat érvényesítéséhez szükséges releváns információkat az Azure App Service-nek. A legtöbb esetben a jogkivonat egy hozzáférési jogkivonat lesz. További információért tekintse meg az Azure App Service 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);