Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Jednotné přihlašování (SSO) umožňuje uživatelům zadat své přihlašovací údaje jenom jednou a nechat je automaticky pracovat napříč aplikacemi. Vylepšuje uživatelské prostředí a zlepšuje zabezpečení tím, že snižuje počet hesel, která uživatelé potřebují spravovat, což snižuje riziko únavy hesel a souvisejících ohrožení zabezpečení.
Microsoft identity platform a Identity a ověřování Microsoftu (MSAL) vám pomůžou povolit jednotné přihlašování napříč sadou aplikací. Povolením funkce zprostředkovatele můžete rozšířit jednotné přihlašování na celé zařízení.
V tomto postupu se dozvíte, jak nakonfigurovat sady SDK (Software Development Kit) používané vaší aplikací k poskytování jednotného přihlašování vašim zákazníkům.
Předpoklady
Tento postup předpokládá, že víte, jak:
- Nakonfigurujte aplikaci. Další informace najdete v pokynech k vytvoření aplikace v kurzu pro Android.
- Integrace aplikace s MSAL pro Android
Metody pro SSO
Existují dva způsoby, jak aplikace používající MSAL pro Android dosáhnout jednotného přihlašování:
Prostřednictvím zprostředkovatelské aplikace
Prostřednictvím systémového prohlížeče
Doporučujeme použít zprostředkovanou aplikaci pro výhody, jako je jednotné přihlašování pro celé zařízení, správa účtů a podmíněný přístup. Vyžaduje ale, aby si uživatelé stáhli další aplikace.
SSO prostřednictvím zprostředkovaného ověřování
Doporučujeme použít jeden z Microsoft ověřovacích zprostředkovatelů pro účast v jednotném přihlašování pro celé zařízení a splnění zásad podmíněného přístupu organizace. Integrace s zprostředkovatelem poskytuje následující výhody:
- Jednotné přihlašování zařízení
- Podmíněný přístup pro:
- Intune App Protection
- Registrace zařízení (připojení k síti na pracovišti)
- Správa mobilních zařízení
- Správa účtů na úrovni zařízení
- prostřednictvím Android AccountManageru a Nastavení účtu
- "Pracovní účet" – vlastní typ účtu
V Androidu je zprostředkovatel ověřování Microsoft součástí Microsoft Authenticator, Intune Portál společnosti a Odkaz na aplikace Windows.
Následující diagram znázorňuje vztah mezi vaší aplikací, knihovnou MSAL a zprostředkovateli ověřování společnosti Microsoft.
Instalace aplikací, které hostují zprostředkovatele
Zprostředkující hostitelské aplikace může vlastník zařízení nainstalovat z obchodu s aplikacemi (obvykle Google Play Store) kdykoli. Některá rozhraní API (prostředky) jsou však chráněná zásadami podmíněného přístupu, které vyžadují, aby zařízení byla:
- Zaregistrované (připojené k pracovišti) a/nebo
- Zaregistrované v Správa zařízení nebo
- Zaregistrované v Intune App Protection
Pokud zařízení s výše uvedenými požadavky ještě nemá nainstalovanou zprostředkovanou aplikaci, nástroj MSAL dá uživateli pokyn, aby ho nainstaloval, jakmile se aplikace pokusí interaktivně získat token. Aplikace pak uživatele provede postupem, aby zařízení vyhovovalo požadovaným zásadám. Pokud neexistuje žádný požadavek na zásady nebo se uživatel přihlašuje pomocí účet Microsoft, instalace zprostředkující aplikace se nevyžaduje.
Účinky instalace a odinstalace zprostředkovatele
Když je nainstalován broker
Když je na zařízení nainstalován zprostředkovatel, všechny následné interaktivní požadavky na token (volání acquireToken()) zpracovává zprostředkovatel, nikoli místně prostřednictvím MSAL. Pro zprostředkovatele není k dispozici žádný stav jednotného přihlašování, který byl dříve dostupný pro MSAL. V důsledku toho se uživatel musí znovu ověřit nebo vybrat účet z existujícího seznamu účtů známých pro dané zařízení.
Instalace zprostředkovatele nevyžaduje, aby se uživatel znovu přihlásil. Pouze když uživatel potřebuje vyřešit MsalUiRequiredException, bude další požadavek směrován na broker.
MsalUiRequiredException může být vyvolán z několika důvodů a je třeba je vyřešit interaktivně. Příklad:
- Uživatel změnil heslo přidružené ke svému účtu.
- Účet uživatele už nesplňuje zásady podmíněného přístupu.
- Uživatel odvolal svůj souhlas pro aplikaci, aby byla přidružená ke svému účtu.
Více zprostředkovatelů – Pokud je na zařízení nainstalováno více zprostředkovatelů, nástroj MSAL identifikuje aktivního zprostředkovatele samostatně, aby se dokončil proces ověřování.
Při odinstalování brokera
Pokud je nainstalovaná jenom jedna hostitelská aplikace zprostředkovatele a je odebraná, musí se uživatel znovu přihlásit. Odinstalace aktivního zprostředkovatele odebere účet a přidružené tokeny ze zařízení.
Pokud se odinstaluje Microsoft Authenticator, Intune Portál společnosti nebo Odkaz na Windows, může být uživatel požádán, aby se znovu přihlásil.
Integrace s zprostředkovatelem
Vygenerujte identifikátor URI pro přesměrování pro zprostředkovatele
Musíte zaregistrovat identifikátor URI pro přesměrování, který je kompatibilní s brokerem. Identifikátor URI přesměrování pro zprostředkovatele by měl obsahovat název balíčku vaší aplikace a reprezentaci podpisu vaší aplikace kódovanou base64.
Formát URI přesměrování je: msauth://<yourpackagename>/<base64urlencodedsignature>
Pomocí nástroje keytool můžete vygenerovat hash podpisu kódovaný v Base64 pomocí podpisových klíčů své aplikace a potom pomocí tohoto hashe vygenerovat své URI přesměrování.
Linux a 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
Jakmile vygenerujete hash podpisu pomocí nástroje keytool, použijte portál Azure k vygenerování identifikátoru URI pro přesměrování:
- Přihlaste se do centra pro správu Microsoft Entra alespoň jako správce cloudových aplikací.
- Pokud máte přístup k více tenantům, pomocí ikony
Nastavení v horní nabídce přepněte do tenanta, který obsahuje registraci aplikace z nabídky Adresáře a předplatná. - Přejděte na Entra ID>Registrace aplikací.
- Vyberte aplikaci a potom vyberte Ověřování>Přidat platformu>Android.
- V podokně Konfigurace aplikace pro Android, které se otevře, zadejte hash podpisu, který jste dříve vygenerovali, a název balíčku.
- Vyberte tlačítko Konfigurovat.
Identifikátor URI přesměrování se vygeneruje za vás a zobrazí se v poli Identifikátor URI přesměrování v podokně konfigurace Androidu.
Další informace o podepsání aplikace najdete v části Podepsání aplikace v uživatelské příručce pro Android Studio.
Nakonfigurujte MSAL tak, aby používala broker
Pokud chcete ve své aplikaci použít zprostředkovatele, musíte ověřit, že jste nakonfigurovali přesměrování zprostředkovatele. Zahrňte například URI přesměrování s povoleným brokerem a uveďte, že jste ho zaregistrovali, přidáním následujících nastavení do konfiguračního souboru MSAL:
"redirect_uri" : "<yourbrokerredirecturi>",
"broker_redirect_uri_registered": true
Výjimky související s zprostředkovateli
Služba MSAL komunikuje se zprostředkovatelem dvěma způsoby:
- Služba vázaná na zprostředkovatele
- Správce účtů androidu
MSAL nejprve používá službu vázanou na brokera, protože volání této služby nevyžaduje žádná oprávnění systému Android. Pokud se připojení k vázané službě nezdaří, MSAL použije rozhraní Android AccountManager API. MsAL to dělá jenom v případě, že už vaše aplikace má udělené "READ_CONTACTS" oprávnění.
Pokud se zobrazí MsalClientException s chybovým kódem "BROKER_BIND_FAILURE", máte dvě možnosti:
- Požádejte uživatele, aby zakázal optimalizaci výkonu pro aplikaci Microsoft Authenticator a Portál společnosti Intune.
- Požádejte uživatele, aby udělil
"READ_CONTACTS"oprávnění.
Ověřit integraci brokera
Nemusí být okamžitě jasné, že integrace zprostředkovatele funguje, ale můžete to zkontrolovat pomocí následujících kroků:
- Na zařízení s Androidem dokončete žádost pomocí zprostředkovatele.
- V nastavení na zařízení s Androidem vyhledejte nově vytvořený účet odpovídající účtu, se kterým jste se ověřili. Účet by měl být typu Pracovní účet.
Pokud chcete test zopakovat, můžete účet z nastavení odebrat.
Jednotné přihlašování prostřednictvím systémového prohlížeče
Aplikace pro Android mají možnost pro uživatelské prostředí ověřování použít WEBVIEW, systémový prohlížeč nebo vlastní karty Chrome. Pokud aplikace nepoužívá zprostředkované ověřování, potřebuje k dosažení jednotného přihlašování použít systémový prohlížeč, nikoli nativní webové zobrazení.
Autorizační agenti
Volba konkrétní strategie pro autorizační agenty je důležitá a představuje další funkce, které můžou aplikace přizpůsobit. Doporučujeme použít webVIEW. Další informace o dalších konfiguračních hodnotách (viz Vysvětlení konfiguračního souboru MSAL pro Android.
MSAL podporuje autorizaci pomocí WEBVIEW nebo systémového prohlížeče. Obrázek níže ukazuje, jak to vypadá při použití WEBVIEW, nebo v systémovém prohlížeči s funkcí Custom Tabs či bez ní:
Důsledky jednotného přihlašování
Pokud aplikace používá WEBVIEW strategii bez integrace se zprostředkovaným ověřováním do aplikace, uživatelé nebudou mít prostředí jednotného přihlašování napříč zařízením ani mezi nativními aplikacemi a webovými aplikacemi.
Aplikace lze integrovat s MSAL tak, aby k autorizaci používaly BROWSER. Na rozdíl od WEBVIEW BROWSER sdílejí úložiště cookies s výchozím systémovým prohlížečem, což omezuje potřebu opakovaného přihlašování na webu nebo v jiných nativních aplikacích, které jsou integrovány s Custom Tabs.
Pokud aplikace používá MSAL se zprostředkovatelem, jako je Microsoft Authenticator, Intune Portál společnosti nebo Link to Windows, mohou uživatelé využívat jednotné přihlašování napříč aplikacemi, pokud jsou aktivně přihlášeni v jedné z těchto aplikací.
Note
MSAL s zprostředkovatelem využívá WebView a poskytuje jednotné přihlašování pro všechny aplikace, které využívají knihovnu MSAL a účastní se zprostředkovaného ověřování. Stav jednotného přihlašování zprostředkovatele není rozšířený na jiné aplikace, které nepoužívají knihovnu MSAL.
WebView
Pokud chcete použít webView v aplikaci, vložte do souboru JSON konfigurace aplikace předaný knihovně MSAL následující řádek:
"authorization_user_agent" : "WEBVIEW"
Při použití aplikace WEBVIEWse uživatel přihlásí přímo k aplikaci. Tokeny se uchovávají uvnitř sandboxu aplikace a nejsou dostupné mimo soubor cookie jar aplikace. V důsledku toho uživatel nemůže mít prostředí jednotného přihlašování napříč aplikacemi, pokud se aplikace neintegrují s aplikací Microsoft Authenticator, intune Portál společnosti nebo odkazem na Windows.
WEBVIEW Poskytuje ale možnost přizpůsobit vzhled a chování uživatelského rozhraní přihlašování. Další informace o tom, jak toto přizpůsobení provést, najdete v části Android WebViews .
Prohlížeč
Doporučujeme použít WEBVIEW, i když poskytujeme možnost používat prohlížeč a vlastní strategii karet . Tuto strategii můžete explicitně označit pomocí následující konfigurace JSON ve vlastním konfiguračním souboru:
"authorization_user_agent" : "BROWSER"
Tento přístup použijte k zajištění jednotného přihlašování prostřednictvím prohlížeče zařízení. MSAL používá sdílené úložiště souborů cookie, které umožňuje jiným nativním nebo webovým aplikacím využívat na zařízení jednotné přihlášení pomocí trvalého souboru cookie relace nastaveného knihovnou MSAL.
Heuristika výběru prohlížeče
Protože MSAL nemůže u široké škály telefonů se systémem Android určit přesný balíček prohlížeče, který se má použít, implementuje heuristiku výběru prohlížeče, která se snaží zajistit co nejlepší jednotné přihlašování napříč zařízeními.
MSAL primárně získá výchozí prohlížeč od správce balíčků a ověří, zda je na seznamu testovaných bezpečných prohlížečů. Pokud ne, MSAL použije jako záložní možnost WebView místo spuštění jiného nevýchozího prohlížeče ze seznamu bezpečných prohlížečů. Výchozí prohlížeč se vybere bez ohledu na to, zda podporuje vlastní panely. Pokud prohlížeč podporuje Custom Tabs, MSAL spustí Custom Tab. Custom Tabs se svým vzhledem a ovládáním více podobají prostředí v aplikaci WebView a umožňují základní přizpůsobení uživatelského rozhraní. Další informace najdete v článku Vlastní karty v Androidu.
Pokud v zařízení nejsou k dispozici žádné balíčky prohlížečů, MSAL použije v aplikaci WebView. Pokud se výchozí nastavení zařízení nezmění, měl by se pro každé přihlášení spustit stejný prohlížeč, aby se zajistilo jednotné přihlašování.
Testované prohlížeče
Následující prohlížeče byly testovány, aby zjistily, jestli se správně přesměrují na "redirect_uri" zadaný konfigurační soubor:
| Zařízení | Integrovaný prohlížeč | Chrom | Opera | Microsoft Edge | Prohlížeč UC | Firefox |
|---|---|---|---|---|---|---|
| Nexus 4 (API 17) | projít | projít | nejde použít | nejde použít | nejde použít | nejde použít |
| Samsung S7 (API 25) | pass1 | projít | projít | projít | Selhání | projít |
| Vivo (API 26) | projít | projít | projít | projít | projít | Selhání |
| Pixel 2 (API 26) | projít | projít | projít | projít | Selhání | projít |
| Oppo | projít | nelze použít2 | nejde použít | nejde použít | nejde použít | nejde použít |
| OnePlus (API 25) | projít | projít | projít | projít | Selhání | projít |
| Nexus (API 28) | projít | projít | projít | projít | Selhání | projít |
| MI | projít | projít | projít | projít | Selhání | projít |
1Integrovaný prohlížeč Samsung je Samsung Internet.
2Výchozí prohlížeč nejde změnit v nastavení zařízení Oppo.
Další kroky
Režim sdíleného zařízení pro zařízení s Androidem umožňuje nakonfigurovat zařízení s Androidem, aby ho mohlo snadno sdílet více zaměstnanců.
Další informace o zprostředkovaných aplikacích najdete tady: