Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              Gäller för:  Personalklienter (läs mer)
 Personalklienter (läs mer)
När du har skapat ditt program får du lära dig hur du konfigurerar koden med hjälp av appregistreringsparametrarna. Mobila program har vissa extra komplexiteter som rör anpassning till deras ramverk för skapande.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. 
              Skapa ett konto kostnadsfritt. Det här kontot måste ha behörighet att hantera program. Använd någon av följande roller som behövs för att registrera programmet: - Appadministratör
- Programutvecklare
 
- Registrera en ny app i administrationscentret för Microsoft Entra, som endast konfigurerats för konton i den här organisationskatalogen. Mer information finns i Registrera ett program . Registrera följande värden från programöversiktssidan för senare användning: - App-ID (klient-ID)
- Katalog-ID (hyresgäst)
 
Lägga till en plattformsomdirigerings-URI
Följ dessa steg om du vill ange din apptyp för din appregistrering:
- Under Hanteraväljer du -autentisering>Lägg till en plattform>iOS/macOS-.
- Ange ditt paket-ID och välj sedan Konfigurera. Omdirigerings-URI:n beräknas åt dig.
Om du föredrar att manuellt konfigurera omdirigerings-URI:n kan du göra det via programmanifestet. Här är det rekommenderade formatet för manifestet:
- 
              iOS-enheter: msauth.<BUNDLE_ID>://auth- Ange till exempel msauth.com.yourcompany.appName://auth
 
- Ange till exempel 
- 
              Android: msauth://<PACKAGE_NAME>/<SIGNATURE_HASH>- Du kan generera Android-signaturens hash med hjälp av versionsnyckeln eller felsökningsnyckeln via kommandot KeyTool.
 
Aktivera offentligt klientflöde
Om din app endast använder autentisering med användarnamn och lösenord behöver du inte registrera en omdirigerings-URI för ditt program. Det här flödet gör en tur och retur till Microsofts identitetsplattform. Din applikation kommer inte att återkallas på någon specifik URI. Men du bör aktivera det offentliga klientflödet.
Följ dessa steg för att identifiera din app som en offentlig klient:
- Under Hantera väljer du Autentisering. 
- Under Avancerade inställningar väljer du Ja för Tillåt offentliga klientflöden. 
- Välj Spara för att spara dina ändringar. 
Microsoft-bibliotek som stöder mobilappar
Följande Microsoft-bibliotek stöder mobilappar:
| Plattform | Projekt om GitHub | Paket | Att få komma igång | Logga in användare | Åtkomst till webb-API:er | Allmänt tillgänglig (GA) eller Offentlig förhandsversion1 | 
|---|---|---|---|---|---|---|
| Android (Java) | MSAL Android | MSAL (på engelska) | Snabbstart |   |   | GA | 
| Android (Kotlin) | MSAL Android | MSAL (på engelska) | — |   |   | GA | 
| iOS (Swift/Obj-C) | MSAL för iOS och macOS | MSAL (på engelska) | Handledning |   |   | GA | 
1Universella licensvillkor för onlinetjänster gäller för bibliotek i offentlig förhandsversion.
Instansiera applikationen
Android
Mobila program använder PublicClientApplication klassen . Så här instansierar du det:
PublicClientApplication sampleApp = new PublicClientApplication(
                    this.getApplicationContext(),
                    R.raw.auth_config);
Ios
Mobilprogram i iOS måste instansiera MSALPublicClientApplication klassen. Om du vill instansiera klassen använder du följande kod.
NSError *msalError = nil;
MSALPublicClientApplicationConfig *config = [[MSALPublicClientApplicationConfig alloc] initWithClientId:@"<your-client-id-here>"];
MSALPublicClientApplication *application = [[MSALPublicClientApplication alloc] initWithConfiguration:config error:&msalError];
let config = MSALPublicClientApplicationConfig(clientId: "<your-client-id-here>")
if let application = try? MSALPublicClientApplication(configuration: config){ /* Use application */}
Ytterligare MSALPublicClientApplicationConfig-egenskaper kan åsidosätta standardauktoritet, ange en omdirigerings-URI eller ändra beteendet för cachning av MSAL-token.
Universal Windows-plattform (UWP)
I det här avsnittet beskrivs hur du instansierar programmet för UWP-appar.
Instansiera applikationen
I UWP är det enklaste sättet att instansiera programmet med hjälp av följande kod. I den här koden ClientId är GUID för din registrerade app.
var app = PublicClientApplicationBuilder.Create(clientId)
                                        .Build();
Ytterligare With<Parameter> metoder ställer in UI-förälder, åsidosätter standardauktoritet, specificerar ett klientnamn och en version för telemetri, anger en omdirigerings-URI och specificerar den HTTP-fabrik som ska användas. HTTP-fabriken kan till exempel användas för att hantera proxyservrar och för att ange telemetri och loggning.
Följande avsnitt innehåller mer information om instansiering av programmet.
Ange det överordnade användargränssnittet, fönstret eller aktiviteten
På Android skickar du den överordnade aktiviteten innan du utför den interaktiva autentiseringen. På iOS, när du använder en mäklare, skickar du in ViewController. På samma sätt i UWP kanske du vill skicka in det överordnade fönstret. Du skickar in den när du skaffar token. Men när du skapar appen kan du också ange ett återanrop som en delegat som returnerar UIParent.
IPublicClientApplication application = PublicClientApplicationBuilder.Create(clientId)
  .ParentActivityOrWindowFunc(() => parentUi)
  .Build();
På Android rekommenderar vi att du använder CurrentActivityPlugin. Den resulterande PublicClientApplication builder-koden ser ut som i det här exemplet:
// Requires MSAL.NET 4.2 or above
var pca = PublicClientApplicationBuilder
  .Create("<your-client-id-here>")
  .WithParentActivityOrWindow(() => CrossCurrentActivity.Current)
  .Build();
Hitta fler appbyggparametrar
En lista över alla metoder som är tillgängliga på PublicClientApplicationBuilderfinns i listan Metoder.
En beskrivning av alla alternativ som visas i PublicClientApplicationOptions finns i referensdokumentationen.
Uppgifter för MSAL för iOS och macOS
Dessa uppgifter är nödvändiga när du använder MSAL för iOS och macOS:
- 
              Implementera återanropet openURL
- Aktivera åtkomstgrupper för nyckelringar
- Anpassa webbläsare och WebViews
Uppgifter för UWP
På UWP kan du använda företagsnätverk. I följande avsnitt beskrivs de uppgifter som du bör utföra i företagsscenariot.
Mer information finns i UWP-specifika överväganden med MSAL.NET.
Konfigurera programmet för att använda broker
På Android och iOS aktiverar mäklare:
- Enkel inloggning (SSO): Du kan använda enkel inloggning för enheter som är registrerade med Microsoft Entra-ID. När du använder enkel inloggning behöver användarna inte logga in på varje program.
- Enhetsidentifiering: Den här inställningen aktiverar principer för villkorlig åtkomst som är relaterade till Microsoft Entra-enheter. Autentiseringsprocessen använder enhetscertifikatet som skapades när enheten anslöts till arbetsplatsen.
- Verifiering av applikationsidentifiering: När ett program anropar mäklaren, skickar det sin omdirigerings-URL. Sedan verifierar mäklaren det.
Aktivera broker för MSAL för Android
Information om hur du aktiverar en broker på Android finns i Asynkron autentisering på Android.
Aktivera broker för MSAL för iOS och macOS
Asynkron autentisering är aktiverat som standard för Microsoft Entra-scenarier i MSAL för iOS och macOS.
Följande avsnitt innehåller instruktioner för hur du konfigurerar programmet för stöd för asynkron autentisering för iOS och macOS. I de två uppsättningarna med instruktioner skiljer sig vissa steg åt.
Förmedlad autentisering för MSAL för iOS och macOS
Mäklad autentisering är aktiverat som standard för Microsoft Entra-scenarier.
Steg 1: Uppdatera AppDelegate för att hantera återanropet
När MSAL för iOS och macOS anropar mäklaren, anropar mäklaren tillbaka till ditt program genom openURL metoden. Eftersom MSAL väntar på svar från en mellanhand behöver ditt program samarbeta för att anropa MSAL. Konfigurera den här funktionen genom att uppdatera AppDelegate.m filen för att åsidosätta metoden, som följande kodexempel visar.
- (BOOL)application:(UIApplication *)app
            openURL:(NSURL *)url
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
    return [MSALPublicClientApplication handleMSALResponse:url
                                         sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]];
}
    func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        guard let sourceApplication = options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String else {
            return false
        }
        return MSALPublicClientApplication.handleMSALResponse(url, sourceApplication: sourceApplication)
    }
Om du har antagit UISceneDelegate i iOS 13 eller senare, placera då MSAL-återanropet i scene:openURLContexts: av UISceneDelegate i stället. MSAL handleMSALResponse:sourceApplication: får bara anropas en gång för varje URL.
Mer information finns i Apple-dokumentationen.
Steg 2: Registrera ett URL-schema
MSAL för iOS och macOS använder URL:er för att anropa brokern och sedan returnera broker-svaret till din app. Slutför rundturen genom att registrera ett URL-schema för din app i Info.plist filen.
Så här registrerar du ett schema för din app:
- Prefixa ditt anpassade URL-schema med - msauth.
- Lägg till paketidentifieraren i slutet av schemat. Följ det här mönstret: - $"msauth.(BundleId)"- Här identifierar - BundleIdenheten som unik. Till exempel, om- BundleIdär- yourcompany.xforms, är ditt URL-schema- msauth.com.yourcompany.xforms.- Det här URL-schemat blir en del av omdirigerings-URI:n som unikt identifierar din app när den tar emot koordinatorns svar. Kontrollera att omdirigerings-URI:n i formatet - msauth.(BundleId)://authär registrerad för ditt program.- <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>msauth.[BUNDLE_ID]</string> </array> </dict> </array>
Steg 3: Lägg till LSApplicationQueriesSchemes
Lägg till LSApplicationQueriesSchemes för att tillåta anrop till Microsoft Authenticator-appen om den är installerad.
Anteckning
Schemat msauthv3 behövs när appen kompileras med Xcode 11 och senare.
Här är ett exempel på hur du lägger LSApplicationQueriesSchemestill :
<key>LSApplicationQueriesSchemes</key>
<array>
  <string>msauthv2</string>
  <string>msauthv3</string>
</array>
Nästa steg
Gå vidare till nästa artikel i det här scenariot, Hämta en token.