Dela via


Konfigurera apptjänsten eller Azure Functions-appen så att den använder en OpenID Connect-provider

Den här artikeln visar hur du konfigurerar Azure App Service eller Azure Functions för att använda en anpassad autentiseringsprovider som följer OIDC-specifikationen (OpenID Connect). OIDC är en branschstandard som många identitetsprovidrar använder. Du behöver inte förstå informationen i specifikationen för att använda en OIDC-identitetsprovider för din app.

Du kan konfigurera din app så att den använder en eller flera OIDC-leverantörer. Du måste ge varje OIDC-provider ett unikt eget namn i appkonfigurationen. Endast en provider kan fungera som standardomdirigeringsmål.

Registrera din app med OIDC-identitetsprovidern

Leverantören kräver att du registrerar ditt program genom att ange en omdirigerings-URI i formuläret <app-url>/.auth/login/<provider-name>/callback. I omdirigerings-URI:n ersätter <app-url> du med din app-URL och <provider-name> med det eget namn som du ger OpenID-providern i Azure.

Anmärkning

Namnet på OpenID-providern får inte innehålla ett bindestreck -eftersom en App Service-programinställning skapas baserat på det här namnet och programinställningarna inte stöder bindestreck. Du kan använda ett understreck _ i stället.

När du registrerar din app måste du samla in ett klient-ID och en klienthemlighet för ditt program. Anteckna de här värdena som ska användas i Azure-appkonfigurationen.

Anmärkning

  • Värdet för klienthemligheten är en viktig säkerhetsautentiseringsuppgift. Dela inte den här hemligheten med någon eller distribuera den i ett klientprogram.
  • Din app måste ange klienthemligheten om du vill att användarna ska hämta åtkomsttoken med hjälp av det interaktiva auktoriseringskodflödet. Om du inte vill hämta åtkomsttoken behöver du inte använda någon hemlighet.

Du behöver också leverantörens OIDC-metadata. Dessa metadata exponeras ofta i ett dokument med konfigurationsmetadata som du kan få vid den sökväg som skapas genom att lägga /.well-known/openid-configuration till providerns utfärdar-URL.

Om du inte kan komma åt ett dokument med konfigurationsmetadata hämtar du följande värden separat:

Varje identitetsprovider bör ge instruktioner om hur du slutför registreringsstegen. Vissa leverantörer kan kräva extra steg för konfigurationen eller för att använda de värden som de tillhandahåller. Apple tillhandahåller till exempel en privat nyckel som du använder för att skapa en JSON-webbtoken (JWT), som du anger som hemlighet i appkonfigurationen. Mer information finns i Skapa en klienthemlighet.

Lägg till leverantörsinformation i din ansökan

Följ dessa steg för att konfigurera OpenID Connect-providern i Azure:

  1. På sidan Azure-portalen för din app väljer du Autentisering under Inställningar i den vänstra navigeringsmenyn.

  2. På sidan Autentisering väljer du Lägg till identitetsprovider eller väljer Lägg till provider i avsnittet Identitetsprovider .

  3. På sidan Lägg till en identitetsprovider väljer du OpenID Connect som provider.

  4. Som OpenID-providernamn anger du det eget namn som du valde för OIDC-providern.

  5. Under OpenID Connect-providerkonfiguration väljer du Dokument-URL för metadatapost om du har ett metadatadokument från identitetsprovidern.

    Om du inte har något metadatadokument väljer du Ange metadata och anger varje URL från identitetsprovidern i lämpligt fält.

  6. Under Appregistrering anger du de värden som du samlade in tidigare för klient-ID och klienthemlighet.

  7. Om det här är den första identitetsprovidern för programmet visas avsnittet Inställningar för App Service-autentisering med inställningar, till exempel hur programmet svarar på oautentiserade begäranden. Standardvalen omdirigerar alla begäranden för att logga in med den nya providern.

    Om du redan har konfigurerat en identitetsprovider för appen visas inte det här avsnittet. Du kan anpassa inställningarna senare om det behövs.

  8. Välj Lägg till för att slutföra konfigurationen av identitetsprovidern.

På sidan <Autentisering visas nu oidc_friendly_name>(anpassad provider) i avsnittet Identitetsprovider. Du kan redigera providerns inställningar genom att välja dess pennikon under Redigera.

Avsnittet Autentiseringsinställningar visar inställningar som hur programmet svarar på oautentiserade begäranden. Du kan redigera de här inställningarna genom att välja Redigera bredvid Autentiseringsinställningar. Mer information om alternativen finns i Autentiseringsflöde.

Programhemligheten lagras som en slot-sticky-programinställning med namnet <oidc_friendly_name>_AUTHENTICATION_SECRET. Du kan se inställningen på fliken Appinställningar på sidan Miljövariabler i portalen. Om du vill hantera hemligheten i Azure Key Vault kan du redigera inställningen för att använda Key Vault-referenser.

Anmärkning

Om du vill lägga till omfång definierar du de behörigheter som programmet har i providerns registreringsportal. Appen kan begära omfång som använder dessa behörigheter vid inloggning.

  • Azure kräver openid, profileoch email omfång. Se till att du konfigurerar din appregistrering i identitetsprovidern med minst dessa omfång.
  • Omfånget aud måste vara samma som det konfigurerade klient-ID:t. Du kan inte konfigurera tillåtna målgrupper för den här providern.