Alkalmazásközi egyszeri bejelentkezés engedélyezése Androidon az MSAL használatával

Az egyszeri bejelentkezés (SSO) lehetővé teszi, hogy a felhasználók csak egyszer írják be a hitelesítő adataikat, és hogy ezek a hitelesítő adatok automatikusan működjenek az alkalmazások között.

A Microsoft Identitásplatform és a Microsoft Authentication Library (MSAL) segítségével engedélyezheti az egyszeri bejelentkezést a saját alkalmazáscsomagjában. A közvetítői képességgel és az Authenticator alkalmazásokkal az egyszeri bejelentkezést a teljes eszközre kiterjesztheti.

Ebben az útmutatóban megtudhatja, hogyan konfigurálhatja az alkalmazás által használt SDK-kat, hogy SSO-t biztosítson az ügyfeleknek.

Előfeltételek

Ez az útmutató feltételezi, hogy tudja, hogyan kell:

  • Az alkalmazás kiépítése. További információkért tekintse meg az alkalmazás létrehozásának utasításait az Android-oktatóanyagban
  • Az alkalmazás integrálása az Androidhoz készült MSAL szolgáltatással

Egyszeri bejelentkezés módszerei

Az androidos MSAL-t használó alkalmazások kétféleképpen érhetik el az egyszeri bejelentkezést:

  • Közvetítőalkalmazáson keresztül

  • A rendszerböngészőn keresztül

    Ajánlott közvetítőalkalmazást használni olyan előnyökhöz, mint az eszközszintű egyszeri bejelentkezés, a fiókkezelés és a feltételes hozzáférés. Ehhez azonban további alkalmazásokat kell letöltenie a felhasználóknak.

Egyszeri bejelentkezés közvetítőalapú hitelesítéssel

Javasoljuk, hogy a Microsoft egyik hitelesítési közvetítőjét használja az eszközszintű egyszeri bejelentkezésben való részvételhez és a szervezeti feltételes hozzáférési szabályzatok teljesítéséhez. A közvetítővel való integráció a következő előnyöket nyújtja:

  • Eszköz egyszeri bejelentkezése
  • Feltételes hozzáférés a következőhöz:
    • Intune App Protection
    • Eszközregisztráció (Munkahelyi csatlakozás)
    • Mobileszköz-kezelés
  • Eszközszintű fiókkezelés
    • Android AccountManager &Gépház
    • "Munkahelyi fiók" – egyéni fióktípus

Android rendszeren a Microsoft Authentication Broker egy olyan összetevő, amely a Microsoft Authenticator és Intune Céges portál alkalmazások részét képezi.

Az alábbi ábra az alkalmazás, az MSAL és a Microsoft hitelesítési közvetítői közötti kapcsolatot mutatja be.

Diagram showing how an application relates to MSAL, broker apps, and the Android account manager.

Közvetítőt üzemeltető alkalmazások telepítése

A közvetítői üzemeltetésű alkalmazásokat az eszköz tulajdonosa bármikor telepítheti az app store-ból (általában a Google Play Áruházból). Egyes API-kat (erőforrásokat) azonban feltételes hozzáférési szabályzatok védik, amelyekhez az eszközöknek a következőknek kell lenniük:

  • Regisztrált (munkahelyhez csatlakozott) és/vagy
  • Regisztrálva Eszközkezelés vagy
  • Regisztrálva az Intune App Protectionben

Ha egy eszközre még nincs telepítve közvetítőalkalmazás, az MSAL arra utasítja a felhasználót, hogy telepítsen egyet, amint az alkalmazás interaktívan megkísérli lekérni a jogkivonatot. Az alkalmazásnak ezután végig kell vezetnie a felhasználót a szükséges szabályzatnak való megfeleléshez szükséges lépéseken.

A közvetítő telepítésének és eltávolításának hatásai

Közvetítő telepítésekor

Ha egy közvetítő telepítve van egy eszközön, az összes további interaktív jogkivonat-kérést (hívás acquireToken()) a közvetítő kezeli, nem pedig helyileg az MSAL. Az MSAL számára korábban elérhető SSO-állapotok nem érhetők el a közvetítő számára. Ennek eredményeképpen a felhasználónak újra hitelesítenie kell magát, vagy ki kell választania egy fiókot az eszköz által ismert meglévő fiókok listájából.

A közvetítő telepítésekor a felhasználónak nem kell újra bejelentkeznie. Csak akkor, ha a felhasználónak meg kell oldania egy MsalUiRequiredException akaratot, a következő kérés a közvetítőhöz kerül. MsalUiRequiredException több okból is eldobható, és interaktív módon kell megoldani. Példa:

  • A felhasználó módosította a fiókjához társított jelszót.
  • A felhasználó fiókja már nem felel meg a feltételes hozzáférési szabályzatnak.
  • A felhasználó visszavonta az alkalmazás fiókjához való társításhoz való hozzájárulását.

Több közvetítő – Ha több közvetítő van telepítve egy eszközön, az előbb telepített közvetítő mindig az aktív közvetítő. Csak egyetlen közvetítő lehet aktív egy eszközön.

Közvetítő eltávolításakor

Ha csak egy közvetítői üzemeltetési alkalmazás van telepítve, és el lett távolítva, akkor a felhasználónak újra be kell jelentkeznie. Az aktív közvetítő eltávolítása eltávolítja a fiókot és a kapcsolódó jogkivonatokat az eszközről.

Ha Intune Céges portál telepítve van, és aktív közvetítőként működik, és a Microsoft Authenticator is telepítve van, akkor a Intune Céges portál (aktív közvetítő) eltávolítása esetén a felhasználónak újra be kell jelentkeznie. Miután ismét bejelentkeztek, a Microsoft Authenticator alkalmazás lesz az aktív közvetítő.

Integrálás közvetítővel

Átirányítási URI létrehozása közvetítőhöz

Tipp.

A cikkben szereplő lépések a portáltól függően kissé eltérhetnek.

Regisztrálnia kell egy átirányítási URI-t, amely kompatibilis a közvetítővel. A közvetítő átirányítási URI-jának tartalmaznia kell az alkalmazás csomagnevét és az alkalmazás aláírásának Base64-kódolású megjelenítését.

Az átirányítási URI formátuma a következő: msauth://<yourpackagename>/<base64urlencodedsignature>

A keytool használatával base64 kódolású aláírási kivonatot hozhat létre az alkalmazás aláírási kulcsainak használatával, majd létrehozhatja az átirányítási URI-t ezzel a kivonattal.

Linux és macOS:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

Windows:

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64

Miután kulcstoollal létrehozott egy aláírási kivonatot, az Azure Portalon hozza létre az átirányítási URI-t:

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább egy felhőalapú alkalmazásként Rendszergazda istratorként.
  2. Ha több bérlőhöz is hozzáfér, a felső menüben található Gépház ikonnalválthat arra a bérlőre, amely tartalmazza az alkalmazásregisztrációt a Könyvtárak + előfizetések menüből.
  3. Keresse meg az identitásalkalmazásokat>> Alkalmazásregisztrációk.
  4. Válassza ki az alkalmazást, majd válassza a Hitelesítés>hozzáadása platform>androidos verzióját.
  5. A megnyíló Android-alkalmazás konfigurálása panelen adja meg a korábban létrehozott aláírási kivonatot és a csomag nevét.
  6. Válassza a Konfigurálás gombot.

Az átirányítási URI létrejön Önnek, és megjelenik az Android konfigurációs panel Átirányítás URI mezőjében.

Az alkalmazás aláírásáról további információt az Alkalmazás aláírása az Android Studio felhasználói útmutatójában talál.

Az MSAL konfigurálása közvetítő használatára

Ahhoz, hogy közvetítőt használjon az alkalmazásban, igazolnia kell, hogy konfigurálta a közvetítő átirányítását. Adja meg például a közvetítő által engedélyezett átirányítási URI-t , és jelezze, hogy regisztrálta azt az MSAL-konfigurációs fájlban a következő beállításokkal:

"redirect_uri" : "<yourbrokerredirecturi>",
"broker_redirect_uri_registered": true

Az MSAL kétféleképpen kommunikál a közvetítővel:

  • Közvetítőhöz kötött szolgáltatás
  • Android AccountManager

Az MSAL először a közvetítőhöz kötött szolgáltatást használja, mert a szolgáltatás meghívása nem igényel Android-engedélyeket. Ha a kötött szolgáltatáshoz való kötés sikertelen, az MSAL az Android AccountManager API-t használja. Az MSAL csak akkor teszi ezt meg, ha az alkalmazás már megkapta az "READ_CONTACTS" engedélyt.

Ha hibakódot "BROKER_BIND_FAILURE"kapMsalClientException, két lehetőség közül választhat:

  • Kérje meg a felhasználót, hogy tiltsa le a Microsoft Authenticator alkalmazás és a Intune Céges portál energiaoptimalizálását.
  • Kérje meg a felhasználót, hogy adja meg az "READ_CONTACTS" engedélyt

Közvetítőintegráció ellenőrzése

Lehet, hogy nem lesz azonnal egyértelmű, hogy a közvetítőintegráció működik, de az alábbi lépésekkel ellenőrizheti:

  1. Android-eszközén küldjön egy kérést a közvetítővel.
  2. Az Android-eszköz beállításai között keressen egy újonnan létrehozott fiókot, amely megfelel a hitelesített fióknak. A fióknak Munkahelyi típusúnak kell lennie.

Ha meg szeretné ismételni a tesztet, eltávolíthatja a fiókot a beállításokból.

Egyszeri bejelentkezés a rendszerböngészőn keresztül

Az Android-alkalmazások a hitelesítési felhasználói élményhez használhatják a böngészőt vagy a WEBVIEWChrome Egyéni lapokat. Ha az alkalmazás nem közvetített hitelesítést használ, az egyszeri bejelentkezés eléréséhez a rendszerböngészőt kell használnia a natív webnézet helyett.

Engedélyezési ügynökök

Az engedélyezési ügynökökre vonatkozó konkrét stratégia kiválasztása fontos, és a testre szabható további funkciókkal kapcsolatos alkalmazásokat jelöli. A "WEBVIEW" használatát javasoljuk. További információ az egyéb konfigurálási értékekről (lásd : Az Android MSAL konfigurációs fájljának ismertetése.

Az MSAL támogatja az engedélyezést egy WEBVIEW, vagy a rendszerböngésző használatával. Az alábbi képen látható, hogyan néz ki a WEBVIEWCustomTabs vagy a CustomTabs nélküli rendszerböngésző használatával:

MSAL login examples

Egyszeri bejelentkezés következményei

Ha az alkalmazás anélkül használ WEBVIEW stratégiát, hogy a közvetítő hitelesítéssel integrálva lenne az alkalmazásba, a felhasználók nem használhatnak egyetlen bejelentkezési felületet sem az eszközön, sem a natív alkalmazások és webalkalmazások között.

Az alkalmazások integrálhatók az MSAL-jal az BROWSER engedélyezéshez. A WEBVIEW-val ellentétben az alapértelmezett rendszerböngészővel meg kell osztania egy cookie-jart, BROWSER amely kevesebb bejelentkezést tesz lehetővé az egyéni lapokkal integrált webes vagy más natív alkalmazásokkal.

Ha az alkalmazás MSAL-t használ egy olyan közvetítővel, mint a Microsoft Authenticator vagy a Intune Céges portál, akkor a felhasználók SSO-tapasztalattal rendelkezhetnek az alkalmazások között, ha aktív bejelentkezéssel rendelkeznek az egyik alkalmazással.

Feljegyzés

A közvetítővel rendelkező MSAL a WebView-t használja, és egyszeri bejelentkezést (SSO) biztosít az MSAL-kódtárat használó és a közvetített hitelesítésben részt vevő alkalmazások számára. A közvetítőtől származó egyszeri bejelentkezés állapota nem terjed ki az MSAL-t nem használó egyéb alkalmazásokra.

WebView

Az alkalmazáson belüli WebView használatához tegye a következő sort az MSAL-nak átadott alkalmazáskonfigurációs JSON-fájlba:

"authorization_user_agent" : "WEBVIEW"

Az alkalmazáson WEBVIEWbelüli használat során a felhasználó közvetlenül az alkalmazásba jelentkezik be. A jogkivonatok az alkalmazás tesztkörnyezetében vannak tárolva, és nem érhetők el az alkalmazás cookie-jarján kívül. Ennek eredményeképpen a felhasználó csak akkor használhat egyszeri bejelentkezést az alkalmazásokban, ha az alkalmazások integrálva vannak az Authenticator vagy a Céges portál.

Azonban lehetővé teszi a WEBVIEW bejelentkezési felhasználói felület megjelenésének és megjelenésének testreszabását. Erről a testreszabásról további információt az Android WebViewsban talál.

Böngésző

A WEBVIEW használatát javasoljuk, de lehetőséget biztosítunk a böngésző és az egyéni lapstratégia használatára. Ezt a stratégiát az alábbi JSON-konfigurációval jelezheti az egyéni konfigurációs fájlban:

"authorization_user_agent" : "BROWSER"

Ezzel a megközelítéssel SSO-élményt biztosíthat az eszköz böngészőjén keresztül. Az MSAL egy megosztott cookie-jart használ, amely lehetővé teszi, hogy más natív alkalmazások vagy webalkalmazások SSO-t érjenek el az eszközön az MSAL által beállított tartós munkamenet-cookie használatával.

Böngészőválasztás heurisztikus

Mivel az MSAL nem tudja megadni a pontos böngészőcsomagot, amelyet az Android-telefonok széles skáláján használhat, az MSAL egy olyan böngészőválasztási heurisztikus megoldást implementál, amely a legjobb eszközközi egyszeri bejelentkezést próbálja biztosítani.

Az MSAL elsősorban az alapértelmezett böngészőt kéri le a csomagkezelőből, és ellenőrzi, hogy szerepel-e a biztonságos böngészők tesztelt listájában. Ha nem, akkor az MSAL a webnézet használatára támaszkodik ahelyett, hogy egy másik, nem alapértelmezett böngészőt indít a biztonságos listából. Az alapértelmezett böngésző attól függetlenül van kiválasztva, hogy támogatja-e az egyéni lapokat. Ha a böngésző támogatja az egyéni lapokat, az MSAL elindítja az Egyéni lapot. Az egyéni lapok megjelenése közelebb áll az alkalmazáson WebView belülihez, és lehetővé teszi a felhasználói felület alapszintű testreszabását. További információért tekintse meg az Android egyéni lapjait.

Ha az eszközön nincsenek böngészőcsomagok, az MSAL az alkalmazáson WebViewbelüli csomagot használja. Ha az eszköz alapértelmezett beállítása nem változik, minden bejelentkezéshez ugyanazt a böngészőt kell elindítani az egyszeri bejelentkezés biztosítása érdekében.

Tesztelt böngészők

A következő böngészőket teszteltük, hogy helyesen átirányítsák-e őket a "redirect_uri" konfigurációs fájlban megadott helyre:

Eszköz Beépített böngésző Chrome Opera Microsoft Edge UC böngésző Firefox
Nexus 4 (API 17) Át Át nem alkalmazható nem alkalmazható nem alkalmazható nem alkalmazható
Samsung S7 (API 25) pass1 Át Át Át Nem Át
Vivo (API 26) Át Át Át Át Át Nem
Pixel 2 (API 26) Át Át Át Át Nem Át
Ellenfél Át nem alkalmazható2 nem alkalmazható nem alkalmazható nem alkalmazható nem alkalmazható
OnePlus (API 25) Át Át Át Át Nem Át
Nexus (API 28) Át Át Át Át Nem Át
MI Át Át Át Át Nem Át

1A Samsung beépített böngészője a Samsung Internet.
2Az alapértelmezett böngésző nem módosítható az Oppo eszközbeállításán belül.

Következő lépések

Az Android-eszközök megosztott eszközmódja lehetővé teszi egy Android-eszköz konfigurálását, hogy több alkalmazott is könnyen megoszthassa azt.