Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met eenmalige aanmelding (SSO) kunnen gebruikers hun referenties slechts eenmaal invoeren en deze referenties automatisch laten werken in alle toepassingen. Het verbetert de gebruikerservaring en verbetert de beveiliging door het aantal wachtwoorden te verminderen dat gebruikers moeten beheren, waardoor het risico op wachtwoordmoeheid en bijbehorende beveiligingsproblemen wordt verlaagd.
De Microsoft identity platform en de Microsoft Authentication Library (MSAL) helpen u bij het inschakelen van eenmalige aanmelding in uw suite met toepassingen. Door de brokerfunctionaliteit in te schakelen, kunt u single sign-on uitbreiden naar het hele apparaat.
In deze handleiding leert u hoe u de Software Development Kits (SDK's) configureert die door uw applicatie worden gebruikt om single sign-on (SSO) voor uw klanten mogelijk te maken.
Prerequisites
In deze handleiding wordt ervan uitgegaan dat u weet hoe u het volgende moet doen:
- Uw app inrichten. Zie de instructies voor het maken van een app in de Android-zelfstudie voor meer informatie
- Uw toepassing integreren met MSAL voor Android
Methoden voor SSO
Er zijn twee manieren waarop applicaties die MSAL voor Android gebruiken, SSO kunnen realiseren:
Via een broker-applicatie
Via de systeembrowser
Het is raadzaam om een brokertoepassing te gebruiken voor voordelen zoals eenmalige aanmelding voor het hele apparaat, accountbeheer en voorwaardelijke toegang. Het vereist echter dat uw gebruikers extra toepassingen downloaden.
SSO via bemiddelde authenticatie
We raden u aan een van de authenticatiebrokers van Microsoft te gebruiken om gebruik te maken van apparaatbrede Single Sign-On (SSO) en om te voldoen aan het beleid van de organisatie voor voorwaardelijke toegang. Integratie met een broker biedt de volgende voordelen:
- SSO op apparaatniveau
- Voorwaardelijke toegang voor:
- Intune-app-beveiliging
- Apparaatregistratie (werkplekkoppeling)
- Beheer van Mobiele Apparaten
- Apparaatbreed accountbeheer
- via Android AccountManager & Accountinstellingen
- "Werkaccount" - aangepast accounttype
Op Android is de Microsoft Authentication Broker een onderdeel dat is opgenomen in de Microsoft Authenticator, Intune-Bedrijfsportal en koppelen aan Windows-apps.
In het volgende diagram ziet u de relatie tussen uw app, MSAL en de verificatiebrokers van Microsoft.
Apps installeren die als host fungeren voor een broker
Brokerhosting-apps kunnen op elk gewenst moment worden geïnstalleerd door de eigenaar van het apparaat vanuit hun App Store (meestal Google Play Store). Sommige API's (resources) worden echter beveiligd door beleid voor voorwaardelijke toegang waarvoor apparaten moeten worden vereist:
- Geregistreerd (werkplek toegevoegd) en/of
- Ingeschreven in Apparaatbeheer of
- Ingeschreven bij Intune-app-beveiliging
Als op het apparaat met bovenstaande vereisten nog geen broker-app is geïnstalleerd, geeft MSAL de gebruiker de opdracht om er een te installeren zodra de app een token interactief probeert op te halen. De app leidt de gebruiker vervolgens door de stappen om het apparaat te laten voldoen aan het vereiste beleid. Als er geen beleidsvereiste is of als de gebruiker zich aanmeldt met Microsoft-account, is de installatie van de Broker-app niet vereist.
Effecten van het installeren en verwijderen van een broker
Wanneer een broker is geïnstalleerd
Wanneer een broker op een apparaat wordt geïnstalleerd, worden alle volgende interactieve tokenaanvragen (aanroepen naar acquireToken()) verwerkt door de broker in plaats van lokaal door MSAL. Een SSO-status die eerder beschikbaar was voor MSAL, is niet beschikbaar voor de broker. Als gevolg hiervan moet de gebruiker zich opnieuw verifiëren of een account selecteren in de bestaande lijst met accounts die bekend zijn bij het apparaat.
Als u een broker installeert, hoeft de gebruiker zich niet opnieuw aan te melden. Alleen wanneer de gebruiker een MsalUiRequiredException aanvraag moet oplossen, wordt de volgende aanvraag naar de broker verzonden.
MsalUiRequiredException kan om verschillende redenen optreden en moet interactief worden opgelost. Voorbeeld:
- De gebruiker heeft het wachtwoord gewijzigd dat aan zijn account is gekoppeld.
- Het account van de gebruiker voldoet niet meer aan een beleid voor voorwaardelijke toegang.
- De gebruiker heeft zijn toestemming voor de app ingetrokken om aan zijn account te worden gekoppeld.
Meerdere brokers : als er meerdere brokers op een apparaat zijn geïnstalleerd, identificeert MSAL de actieve broker zelfstandig om het verificatieproces te voltooien
Wanneer een broker wordt verwijderd
Als er slechts één brokerhosting-app is geïnstalleerd en deze wordt verwijderd, moet de gebruiker zich opnieuw aanmelden. Als u de actieve broker verwijdert, worden het account en de bijbehorende tokens van het apparaat verwijderd.
Als Microsoft Authenticator, Intune-Bedrijfsportal of Koppeling naar Windows wordt verwijderd, wordt de gebruiker mogelijk gevraagd zich opnieuw aan te melden.
Integreren met een broker
Een omleidings-URI genereren voor een broker
U moet een omleidings-URI registreren die compatibel is met de broker. De omleidings-URI voor de broker moet de pakketnaam van uw app en de Base64-gecodeerde weergave van de handtekening van uw app bevatten.
De indeling van de omleidings-URI is: msauth://<yourpackagename>/<base64urlencodedsignature>
U kunt keytool gebruiken om een met Base64 gecodeerde handtekeninghash te genereren met behulp van de ondertekeningssleutels van uw app en vervolgens uw omleidings-URI te genereren met die hash.
Linux en 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
Nadat u een handtekening-hash hebt gegenereerd met keytool, gebruikt u de Azure-portal om de omleidings-URI te genereren:
- Meld u aan bij het Microsoft Entra-beheercentrum als ten minste een cloudtoepassingsbeheerder.
- Als u toegang hebt tot meerdere tenants, gebruikt u het pictogram
Instellingen in het bovenste menu om over te schakelen naar de tenant met de app-registratie vanuit het menu Mappen en abonnementen. - Blader naar Entra ID>App-registraties.
- Selecteer uw toepassing en selecteer vervolgens Authentication>Add a platform>Android.
- Voer in het deelvenster Uw Android-app configureren dat wordt geopend de handtekening-hash in die u eerder hebt gegenereerd en een pakketnaam.
- Selecteer de knop Configureren .
De omleidings-URI wordt voor u gegenereerd en wordt weergegeven in het veld Omleidings-URI van het Android-configuratievenster.
Zie De gebruikershandleiding voor Android Studio voor meer informatie over het ondertekenen van uw app.
MSAL configureren voor het gebruik van een broker
Als u een broker in uw app wilt gebruiken, moet u bevestigen dat u uw brokeromleiding hebt geconfigureerd. Neem bijvoorbeeld zowel uw door broker ingeschakelde omleidings-URI op als dat u aangeeft dat u deze hebt geregistreerd, door de volgende instellingen op te nemen in uw MSAL-configuratiebestand:
"redirect_uri" : "<yourbrokerredirecturi>",
"broker_redirect_uri_registered": true
Brokergerelateerde uitzonderingen
MSAL communiceert op twee manieren met de broker:
- Brokergebonden dienst
- Android-accountmanager
MSAL maakt eerst gebruik van de broker-gebonden service omdat voor het aanroepen van deze service geen Android-machtigingen zijn vereist. Als de binding met de afhankelijke service mislukt, gebruikt MSAL de Android AccountManager-API. MSAL doet dit alleen als aan uw app al de "READ_CONTACTS" machtiging is verleend.
Als u een MsalClientException met foutcode "BROKER_BIND_FAILURE" krijgt, zijn er twee opties:
- Vraag de gebruiker om energieverbruikoptimalisatie uit te schakelen voor de Microsoft Authenticator-app en de Intune-Bedrijfsportal.
- Vraag de gebruiker om de
"READ_CONTACTS"machtiging te verlenen
Brokerintegratie controleren
Het is misschien niet onmiddellijk duidelijk dat brokerintegratie werkt, maar u kunt de volgende stappen gebruiken om te controleren:
- Vul op uw Android-apparaat een aanvraag in met behulp van de broker.
- Zoek in de instellingen op uw Android-apparaat naar een nieuw account dat overeenkomt met het account waarmee u bent geverifieerd. Het account moet van het type Werkaccount zijn.
U kunt het account verwijderen uit instellingen als u de test wilt herhalen.
Eenmalige aanmelding via systeembrowser
Android-toepassingen hebben de mogelijkheid om de aangepaste tabbladen van de WEBVIEWsysteembrowser of Chrome te gebruiken voor verificatiegebruikerservaring. Als de toepassing geen broker-gebaseerde verificatie gebruikt, moet deze de systeembrowser gebruiken in plaats van de ingebouwde webweergave om SSO te realiseren.
Autorisatieagenten
Het kiezen van een specifieke strategie voor autorisatie-agenten is belangrijk en vormt extra functionaliteit die apps kunnen aanpassen. U wordt aangeraden WEBVIEW te gebruiken. Voor meer informatie over andere configuratiewaarden (zie Inzicht in het ANDROID MSAL-configuratiebestand.
MSAL ondersteunt autorisatie met behulp van een WEBVIEW, of de systeembrowser. In de onderstaande afbeelding ziet u hoe deze eruitziet met behulp van de WEBVIEW, of de systeembrowser met CustomTabs of zonder CustomTabs:
Gevolgen van SSO
Als de toepassing gebruikmaakt van een WEBVIEW strategie zonder integratie met brokered-verificatie in hun app, hebben gebruikers geen SSO-ervaring op het apparaat of tussen systeemeigen apps en web-apps.
Toepassingen kunnen worden geïntegreerd met MSAL om de BROWSER te gebruiken om te autoriseren. In tegenstelling tot WEBVIEW delen BROWSER dezelfde cookieopslag met de standaard systeembrowser, waardoor er minder vaak hoeft te worden ingelogd in web- of andere native apps die met Custom Tabs zijn geïntegreerd.
Als de toepassing gebruikmaakt van MSAL met een broker zoals Microsoft Authenticator, Intune Bedrijfsportal of Koppeling met Windows, kunnen gebruikers eenmalige aanmelding (SSO) tussen toepassingen gebruiken als ze actief zijn aangemeld bij een van deze apps.
Note
MSAL met broker maakt gebruik van WebView en biedt eenmalige aanmelding (SSO) voor alle toepassingen die de MSAL-bibliotheek gebruiken en deelnemen aan brokerverificatie. De SSO-status van de broker geldt niet voor andere toepassingen die geen MSAL gebruiken.
WebView
Als u de webweergave in de app wilt gebruiken, plaatst u de volgende regel in de JSON van de app-configuratie die wordt doorgegeven aan MSAL:
"authorization_user_agent" : "WEBVIEW"
Wanneer de in-app WEBVIEWwordt gebruikt, meldt de gebruiker zich rechtstreeks aan bij de app. De tokens worden bewaard in de sandbox van de app en zijn niet beschikbaar buiten het cookie jar-bestand van de app. Als gevolg hiervan kan de gebruiker geen SSO-ervaring hebben in toepassingen, tenzij de apps zijn geïntegreerd met de Microsoft Authenticator-app, Intune-Bedrijfsportal of koppelen aan Windows.
WEBVIEW Biedt echter wel de mogelijkheid om het uiterlijk van de aanmeldingsgebruikersinterface aan te passen. Zie Android WebViews voor meer informatie over hoe u deze aanpassing kunt uitvoeren.
Browser
We raden u aan WEBVIEW te gebruiken, hoewel we een optie bieden om browser en een aangepaste tabstrategie te gebruiken. U kunt deze strategie expliciet aangeven met behulp van de volgende JSON-configuratie in het aangepaste configuratiebestand:
"authorization_user_agent" : "BROWSER"
Gebruik deze aanpak om single sign-on via de browser van het apparaat mogelijk te maken. MSAL maakt gebruik van een gedeelde cookiejar, waarmee andere native apps of web-apps single sign-on (SSO) op het apparaat mogelijk kunnen maken door gebruik te maken van de opgeslagen sessiecookie die door MSAL is ingesteld.
Heuristiek van browserselectie
Omdat MSAL onmogelijk exact kan aangeven welk browserpakket moet worden gebruikt op elk van de vele verschillende Android-telefoons, gebruikt MSAL een browserselectieheuristiek die de best mogelijke SSO op verschillende apparaten probeert te bieden.
MSAL haalt voornamelijk de standaardbrowser op uit pakketbeheer en controleert of deze zich in een geteste lijst met veilige browsers bevindt. Als dat niet het probleem is, valt MSAL terug op het gebruik van de webweergave in plaats van een andere niet-standaardbrowser te starten vanuit de veilige lijst. De standaardbrowser wordt gekozen, ongeacht of deze aangepaste tabbladen ondersteunt. Als de browser aangepaste tabbladen ondersteunt, start MSAL het aangepaste tabblad. Aangepaste tabbladen hebben een uiterlijk en gevoel dichter bij een in-app WebView en maken eenvoudige aanpassing van de gebruikersinterface mogelijk. Zie Aangepaste tabbladen in Android voor meer informatie.
Als er geen browserpakketten op het apparaat zijn, gebruikt MSAL de in-app WebView. Als de standaardinstelling van het apparaat ongewijzigd blijft, moet bij elke aanmelding dezelfde browser worden gestart om de single sign-on-ervaring (SSO) te waarborgen.
Geteste browsers
De volgende browsers zijn getest om te zien of ze correct worden omgeleid naar de "redirect_uri" opgegeven in het configuratiebestand:
| Apparaat | Ingebouwde browser | Chroom | Opera | Microsoft Edge | UC-browser | Firefox |
|---|---|---|---|---|---|---|
| Nexus 4 (API 17) | geslaagd | geslaagd | niet van toepassing | niet van toepassing | niet van toepassing | niet van toepassing |
| Samsung S7 (API 25) | pass1 | geslaagd | geslaagd | geslaagd | mislukt | geslaagd |
| Vivo (API 26) | geslaagd | geslaagd | geslaagd | geslaagd | geslaagd | mislukt |
| Pixel 2 (API 26) | geslaagd | geslaagd | geslaagd | geslaagd | mislukt | geslaagd |
| Oppo | geslaagd | niet van toepassing2 | niet van toepassing | niet van toepassing | niet van toepassing | niet van toepassing |
| OnePlus (API 25) | geslaagd | geslaagd | geslaagd | geslaagd | mislukt | geslaagd |
| Nexus (API 28) | geslaagd | geslaagd | geslaagd | geslaagd | mislukt | geslaagd |
| MI | geslaagd | geslaagd | geslaagd | geslaagd | mislukt | geslaagd |
1De ingebouwde browser van Samsung is Samsung Internet.
2De standaardbrowser kan niet worden gewijzigd binnen de instelling van het Oppo-apparaat.
Volgende stappen
Met de modus Gedeeld apparaat voor Android-apparaten kunt u een Android-apparaat configureren, zodat het eenvoudig kan worden gedeeld door meerdere werknemers.
Zie voor meer informatie over brokertoepassingen: