What are Azure Services?

Azure AD B2C: Sikker mobil login

02/03/2025

Rating: 4.19 (13099 votes)

Azure AD B2C: Sikker mobil login med NativeScript og Kinvey

I en verden, hvor mobile applikationer er allestedsnærværende, er det afgørende at sikre en robust og brugervenlig godkendelsesproces. Azure Active Directory B2C (Azure AD B2C) tilbyder en kraftfuld løsning til at administrere brugeridentiteter og sikre adgangen til dine apps. Denne artikel guider dig gennem processen med at integrere Azure AD B2C i dine native iOS- og Android-mobilapps ved hjælp af NativeScript og Kinvey, hvilket giver en problemfri Single Sign-On (SSO) oplevelse.

How do I add Android apps to Azure Active Directory B2C?
Open a web browser to the Azure Portal and navigate to the App Registration in the Azure Active Directory B2C portal. Click in the Authentication link in the navigation list on the left. Click the Add a platform button. Choose the Android platform. In the Package name field, enter the application identifier from the app/build.gradle file.
Indholdsfortegnelse

Hvad er Azure AD B2C?

Azure AD B2C er en cloud-baseret identitets- og adgangsstyringstjeneste, der giver dig mulighed for at give dine kunder adgang til dine applikationer ved hjælp af deres foretrukne identitetsudbydere (f.eks. e-mail/password, Facebook, Google) eller ved at oprette nye lokale konti. Det er designet til at skalere og håndtere millioner af brugere, hvilket gør det til et ideelt valg for virksomheder, der ønsker at levere en sikker og tilpasselig brugeroplevelse.

Hvorfor integrere Azure AD B2C i mobile apps?

Traditionelt har det været en udfordring for iOS- og Android-udviklere at implementere sikker godkendelse. Mens .NET-udviklere ofte har haft førsteprioritet, har andre platforme haft sværere ved at integrere med Active Directory. Med Microsofts fokus på cloud og åbne standarder er dette landskab dog ved at ændre sig. Azure AD B2C tilbyder nu en mere tilgængelig og standardiseret tilgang til mobil godkendelse, der giver følgende fordele:

  • Forbedret sikkerhed: Udnyt Microsofts robuste sikkerhedsinfrastruktur til at beskytte brugerkonti og data.
  • Strømlinet brugeroplevelse: Muliggør Single Sign-On (SSO), så brugerne kun behøver at logge ind én gang for at få adgang til flere applikationer.
  • Tilpasningsmuligheder: Skræddersy godkendelsesflowet, inklusive brugerdefinerede sider og politikker, for at matche dit brands udseende og følelse.
  • Platformsuafhængighed: Understøtter både iOS og Android med en ensartet godkendelsesoplevelse.

Forudsætninger for integration

Før du dykker ned i den tekniske implementering, skal du sikre dig, at du har følgende på plads:

  • En Azure-konto med et aktivt Azure AD B2C-tenant.
  • NativeScript og NativeScript Sidekick installeret.
  • Et udviklingsmiljø for iOS eller Android (Xcode eller Android Studio).

Trin-for-trin guide til integration

Denne guide vil fokusere på at bruge NativeScript og Kinvey til at forenkle integrationen. Kinvey er en fuldt administreret platform, der accelererer udviklingen af mobile apps og strømliner integrationen med cloud-tjenester som Azure AD.

Trin 1: Opret en App-registrering i Azure AD B2C

Den første fase involverer at registrere din mobilapplikation i Azure AD B2C. Dette trin giver Azure AD oplysninger om din app, såsom dens identitet og omdirigerings-URI'er.

Can I run web applications on Azure App service in a single region?
This article provides a basic architecture intended for learning about running web applications on Azure App Service in a single region. This architecture isn't meant to be used for production applications. It's intended to be an introductory architecture you can use for learning and proof of concept (POC) purposes.
  1. Log ind på Microsoft Azure Portal.
  2. Naviger til Azure Active Directory.
  3. Klik på App-registreringer i navigationsmenuen.
  4. Klik på Ny registrering.
  5. Giv din app et meningsfuldt navn (f.eks. MinMobilAppAuth).
  6. Under Understøttede kontotyper, vælg den mest passende indstilling for din app.
  7. I sektionen Omdirigerings-URI skal du vælge Mobil- og desktopapps og angive en URI. Et almindeligt format er org.myapp://auth.
  8. Klik på Registrer.

Efter registreringen vil du se en Program (klient) ID. Kopier denne ID og gem den sikkert, da den vil blive brugt senere.

Trin 2: Konfigurer OAuth 2.0-tilladelser

For at din app kan godkende brugere via Azure AD, skal du eksponere API'er og definere de nødvendige tilladelser.

  1. I din app-registrering i Azure AD B2C, naviger til API-tilladelser.
  2. Klik på Tilføj en tilladelse.
  3. Vælg Microsoft Graph.
  4. Under Delegerede tilladelser, vælg følgende:
    • User.Read (Giver din app mulighed for at læse grundlæggende brugerprofiloplysninger)
    • User.ReadBasic.All (Giver din app mulighed for at læse grundlæggende oplysninger om alle brugere)
  5. Klik på Tilføj tilladelser.
  6. Klik på Giv administratorgodkendelse for [dit organisationsnavn], og bekræft.

Trin 3: Opret en Klienthemmelighed (Client Secret)

Klienthemmeligheden bruges til at autentificere din applikation med Azure AD B2C.

  1. I din app-registrering, naviger til Certifikater og hemmeligheder.
  2. Klik på Ny klienthemmelighed.
  3. Giv den en beskrivelse (f.eks. MobilAppHemmelighed) og vælg en udløbsdato.
  4. Klik på Tilføj.

Vigtigt: Kopier værdien af klienthemmeligheden med det samme og gem den sikkert. Den vil ikke være synlig igen, når du forlader siden.

How to create a responsive layout?
If you create a responsive layout, controls can respond to different devices or window sizes, making various experiences feel more natural. To achieve responsive layout, you adjust some settings and write expressions throughout your app. You can configure each screen so that its layout adapts to the actual space in which the app is running.

Trin 4: Konfigurer NativeScript-appen med Kinvey

Nu vil vi bruge NativeScript Sidekick til at oprette en ny NativeScript-app og konfigurere den til at bruge Azure AD B2C-godkendelse via Kinvey.

  1. Åbn NativeScript Sidekick.
  2. Klik på Opret Ny App.
  3. Vælg en projekt skabelon, f.eks. en TypeScript app. Vælg derefter Enterprise Auth skabelonen, hvis den er tilgængelig, ellers start med en standard skabelon.
  4. Giv din app et navn og vælg en placering til projektet.
  5. Klik på Opret.
  6. Når appen er oprettet, skal du navigere til fanen Services.
  7. Vælg OAuth 2.0 som godkendelsesmetode.
  8. Indtast følgende oplysninger, som du har gemt fra Azure AD B2C-konfigurationen:
    • Navn: Et navn til din Kinvey-tjeneste (f.eks. AzureADB2CService).
    • Klient ID: Dit Program (klient) ID fra Azure.
    • Klienthemmelighed: Den klienthemmelighed, du genererede.
    • Omfang (Scope): Angiv de tilladelser, du konfigurerede i Azure AD B2C, f.eks. openid profile email.
    • Udbyder URI (Provider URI): Findes under Endepunkter i din Azure AD B2C app-registrering. Det er typisk OAuth 2.0 token-slutpunktet.
    • Bevillingsslutpunkt (Grant Endpoint): Findes også under Endepunkter i Azure AD B2C. Det er typisk OAuth 2.0 autorisation-slutpunktet.
  9. Gem din Kinvey-tjeneste-konfiguration.

Trin 5: Implementer login- og logout-funktionalitet i appen

Nu skal du implementere brugergrænsefladen og logikken for at udløse godkendelsesflowet.

Du skal bruge Kinvey's NativeScript SDK for at håndtere godkendelsesflowet. Dette SDK abstraherer kompleksiteten ved at kommunikere med Azure AD B2C og håndterer både iOS- og Android-platformene.

I din NativeScript-app skal du tilføje knapper til login og logout. Når brugeren trykker på login-knappen, skal du kalde Kinvey SDK'ets godkendelsesmetode, som vil starte Azure AD B2C-godkendelsesflowet i en browser eller en indbygget WebView.

What is Azure mobile app architecture?
The functionality of Azure mobile App architecture makes it simple to associate a scalable cloud backend to your client and mobile applications to create mobile app in Azure. It allows you to sign in, push notifications, and data sync to your mobile application.

Eksempel på kode (konceptuel):

import { Kinvey } from '@kinvey/nativescript'; // ... async loginUser() { try { const user = await Kinvey.User.login('your_azure_ad_b2c_provider_name'); console.log('Login successful:', user); } catch (error) { console.error('Login failed:', error); } } async logoutUser() { await Kinvey.User.logout(); console.log('User logged out'); } 

Du skal konfigurere Kinvey SDK'et med navnet på din Azure AD B2C-godkendelsestjeneste, som du oprettede i NativeScript Sidekick.

Test din integration

Når du har implementeret login- og logout-funktionaliteten, er det tid til at teste:

  1. Kør din NativeScript-app på en iOS-simulator/enhed eller en Android-emulator/enhed.
  2. Tryk på Login-knappen.
  3. Du skal blive omdirigeret til Azure AD B2C login-siden.
  4. Log ind med dine Azure AD B2C-legitimationsoplysninger.
  5. Efter en vellykket login skal du blive omdirigeret tilbage til din app, og din brugerprofiloplysninger bør være tilgængelige.
  6. Test også logout-funktionaliteten.

Overvejelser for native Android-apps (uden NativeScript)

Hvis du ikke bruger NativeScript, men bygger en ren native Android-app, skal du bruge Microsoft Authentication Library (MSAL) for Android. Processen involverer følgende hovedtrin:

  • Tilføj MSAL til Gradle-afhængigheder: Inkluder MSAL-biblioteket i din applikations build.gradle fil.
  • Konfigurer MSAL: Opret en auth_config_b2c.json fil i res/raw mappen med din B2C-tenantdetaljer, klient-ID og signatur-hash.
  • Konfigurer App Manifest: Tilføj nødvendige tilladelser (f.eks. INTERNET) og registrer BrowserTabActivity.
  • Registrer Android-appen i Azure AD B2C: I Azure-portalen, tilføj Android-platformen til din app-registrering og indtast pakkenavn og signatur-hash.
  • Implementer Login-logik: Brug MSAL til at initialisere PublicClientApplication og starte login-flowet ved at kalde acquireTokenInteractive.

Eksempel på auth_config_b2c.json:

{ "azureb2c": { "client_id": "DIN_KLIENT_ID", "tenant_authority": "https://TENANT_NAVN.b2clogin.com/TENANT_NAVN.onmicrosoft.com/B2C_1_signupsignin", "scopes": [ "openid", "profile", "offline_access" ], "redirect_uri": "org.myapp://auth" } } 

Bemærk: HASH-værdien i AndroidManifest.xml skal genereres fra din debug-nøgleringslager.

Fejlfinding og bedste praksis

  • Kopier altid værdier: Sørg for at kopiere klient-ID'er og klienthemmeligheder med det samme, da de kan være svære at gendanne.
  • Omdirigerings-URI'er: Dobbelttjek, at dine omdirigerings-URI'er er korrekt konfigureret i både Azure AD B2C og din app.
  • Scope-definitioner: Sørg for, at de omfang (scopes), du anmoder om i din app, stemmer overens med de eksponerede API-tilladelser i Azure AD B2C.
  • Test på enheder: Test din integration på både iOS- og Android-enheder for at sikre fuld funktionalitet.
  • Sikker tokenopbevaring: Vær opmærksom på sikker opbevaring af tokens på mobile enheder, især i hybridapps. Løsninger som Ionic Auth Connect adresserer disse bekymringer.

Konklusion

Ved at følge disse trin kan du effektivt integrere Azure AD B2C i dine native iOS- og Android-mobilapps. Dette giver ikke kun en stærk sikkerhed for dine brugerdata, men forbedrer også brugeroplevelsen markant gennem Single Sign-On. Brug af værktøjer som NativeScript og Kinvey kan yderligere forenkle denne proces og fremskynde din udviklingstid.

Husk at konsultere den officielle Azure AD B2C-dokumentation for de mest opdaterede oplysninger og avancerede konfigurationer.

What are azure SDKs?
Programmatically manage and interact with Azure services. The Azure SDKs are collections of libraries built to make it easier to use Azure services from your language of choice. These libraries are designed to be consistent, approachable, diagnosable, dependable, and idiomatic. See the latest releases, documentation, and design guidelines.

Ofte stillede spørgsmål (FAQ)

Kan Azure Active Directory bruges i mobilapps?

Ja, Azure Active Directory (inklusive Azure AD B2C) kan absolut bruges i mobilapps. Microsoft leverer biblioteker som MSAL (Microsoft Authentication Library) til både iOS og Android for at lette denne integration.

Hvordan tilføjer jeg Android-apps til Azure Active Directory B2C?

Du tilføjer Android-apps til Azure AD B2C ved at registrere din app i Azure AD B2C-portalen, angive Android som platform, og derefter konfigurere app-specifikke detaljer som pakkenavn og signatur-hash. Derefter bruger du MSAL-biblioteket i din Android-app til at håndtere godkendelsesflowet.

Virker Azure AD B2C på mobile enheder?

Ja, Azure AD B2C er designet til at fungere problemfrit på alle iOS- og Android-telefoner og tablets. Det er en cloud-baseret tjeneste, der kan tilgås fra enhver enhed med internetadgang.

Hvis du vil læse andre artikler, der ligner Azure AD B2C: Sikker mobil login, kan du besøge kategorien Teknologi.

Go up