Aangepaste verificatie in Azure Static Web Apps

Azure Static Web Apps biedt beheerde verificatie die gebruikmaakt van providerregistraties die worden beheerd door Azure. Als u meer flexibiliteit wilt bieden voor de registratie, kunt u de standaardwaarden overschrijven met een aangepaste registratie.

  • Met aangepaste verificatie kunt u ook aangepaste providers configureren die ondersteuning bieden voor OpenID-Verbinding maken. Met deze configuratie kunt u meerdere externe providers registreren.

  • Als u aangepaste registraties gebruikt, worden alle vooraf geconfigureerde providers uitgeschakeld.

Notitie

Aangepaste verificatie is alleen beschikbaar in het Azure Static Web Apps Standard-abonnement.

Een aangepaste id-provider configureren

Aangepaste id-providers worden geconfigureerd in de auth sectie van het configuratiebestand.

Om te voorkomen dat geheimen in broncodebeheer worden opgenomen, zoekt de configuratie naar toepassingsinstellingen voor een overeenkomende naam in het configuratiebestand. U kunt er ook voor kiezen om uw geheimen op te slaan in Azure Key Vault.

Als u de registratie wilt maken, begint u met het maken van de volgende toepassingsinstellingen:

Naam van instelling Waarde
AZURE_CLIENT_ID De toepassings-id (client) voor de registratie van de Microsoft Entra-app.
AZURE_CLIENT_SECRET Het clientgeheim voor de registratie van de Microsoft Entra-app.

Gebruik vervolgens het volgende voorbeeld om de provider in het configuratiebestand te configureren.

Microsoft Entra-providers zijn beschikbaar in twee verschillende versies. Versie 1 definieert expliciet de userDetailsClaim, waarmee de nettolading gebruikersgegevens kan retourneren. Versie 2 retourneert daarentegen standaard gebruikersgegevens en wordt aangeduid in v2.0 de openIdIssuer URL.

Microsoft Entra versie 1

{
  "auth": {
    "identityProviders": {
      "azureActiveDirectory": {
        "userDetailsClaim": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
        "registration": {
          "openIdIssuer": "https://login.microsoftonline.com/<TENANT_ID>",
          "clientIdSettingName": "AZURE_CLIENT_ID",
          "clientSecretSettingName": "AZURE_CLIENT_SECRET"
        }
      }
    }
  }
}

Zorg ervoor dat u vervangt door <TENANT_ID> uw Microsoft Entra-tenant-id.

Microsoft Entra versie 2

{
  "auth": {
    "identityProviders": {
      "azureActiveDirectory": {
        "registration": {
          "openIdIssuer": "https://login.microsoftonline.com/<TENANT_ID>/v2.0",
          "clientIdSettingName": "AZURE_CLIENT_ID",
          "clientSecretSettingName": "AZURE_CLIENT_SECRET"
        }
      }
    }
  }
}

Zorg ervoor dat u vervangt door <TENANT_ID> uw Microsoft Entra-tenant-id.

Zie de documentatie over App Service-verificatie/autorisatie voor het gebruik van een bestaande registratie voor meer informatie over het configureren van Microsoft Entra-id.

Zie De accounts wijzigen die worden ondersteund door een toepassing en uw Microsoft Entra-app beperken tot een set gebruikers in een Microsoft Entra-tenant om te configureren welke accounts zich kunnen aanmelden.

Notitie

Hoewel de configuratiesectie voor Microsoft Entra-id is azureActiveDirectory, wordt dit aad door het platform opgeslagen in de URL's voor aanmelding, afmelden en opschonen van gebruikersgegevens. Raadpleeg de sectie Verificatie en autorisatie voor meer informatie.

Callbacks voor verificatie

Id-providers vereisen een omleidings-URL om de aanmeldings- of afmeldingsaanvraag te voltooien. Voor de meeste providers moet u de callback-URL's toevoegen aan een acceptatielijst. De volgende eindpunten zijn beschikbaar als omleidingsbestemmingen.

Type URL-patroon
Aanmelden https://<YOUR_SITE>/.auth/login/<PROVIDER_NAME_IN_CONFIG>/callback
Afmelden https://<YOUR_SITE>/.auth/logout/<PROVIDER_NAME_IN_CONFIG>/callback

Als u Microsoft Entra-id gebruikt, gebruikt aad u deze als de waarde voor de <PROVIDER_NAME_IN_CONFIG> tijdelijke aanduiding.

Notitie

Deze URL's worden geleverd door Azure Static Web Apps om het antwoord van de verificatieprovider te ontvangen. U hoeft geen pagina's op deze routes te maken.

Aanmeldings-, afmeldings- en gebruikersgegevens

Als u een aangepaste id-provider wilt gebruiken, gebruikt u de volgende URL-patronen.

Actie Patroon
Aanmelden /.auth/login/<PROVIDER_NAME_IN_CONFIG>
Afmelden /.auth/logout
Gebruikersdetails /.auth/me
Gebruikersdetails leegmaken /.auth/purge/<PROVIDER_NAME_IN_CONFIG>

Als u Microsoft Entra-id gebruikt, gebruikt aad u deze als de waarde voor de <PROVIDER_NAME_IN_CONFIG> tijdelijke aanduiding.

Rollen beheren

Elke gebruiker die toegang heeft tot een statische web-app, behoort tot een of meer rollen. Er zijn twee ingebouwde rollen waartoe gebruikers kunnen behoren:

  • anoniem: alle gebruikers behoren automatisch tot de anonieme rol.
  • geverifieerd: alle gebruikers die zijn aangemeld, behoren tot de geverifieerde rol.

Naast de ingebouwde rollen kunt u aangepaste rollen toewijzen aan gebruikers en ernaar verwijzen in het bestand staticwebapp.config.json .

Een gebruiker toevoegen aan een rol

Als u een gebruiker aan een rol wilt toevoegen, genereert u uitnodigingen waarmee u gebruikers aan specifieke rollen kunt koppelen. Rollen worden gedefinieerd en onderhouden in het bestand staticwebapp.config.json .

Een uitnodiging maken

Uitnodigingen zijn specifiek voor afzonderlijke autorisatieproviders. Houd dus rekening met de behoeften van uw app wanneer u selecteert welke providers u wilt ondersteunen. Sommige providers stellen het e-mailadres van een gebruiker beschikbaar, terwijl anderen alleen de gebruikersnaam van de site opgeven.

Autorisatieprovider Bloot
Microsoft Entra ID e-mailadres
GitHub gebruikersnaam
Twitter gebruikersnaam

Volg de volgende stappen om een uitnodiging te maken.

  1. Ga naar een Static Web Apps-resource in Azure Portal.
  2. Selecteer onder Instellingen Rolbeheer.
  3. Selecteer Uitnodigen.
  4. Selecteer een autorisatieprovider in de lijst met opties.
  5. Voeg de gebruikersnaam of het e-mailadres van de geadresseerde toe in het vak Details van genodigde .
    • Voer voor GitHub en Twitter de gebruikersnaam in. Voer voor alle anderen het e-mailadres van de geadresseerde in.
  6. Selecteer het domein van uw statische site in de vervolgkeuzelijst Domein .
    • Het domein dat u selecteert, is het domein dat wordt weergegeven in de uitnodiging. Als er een aangepast domein aan uw site is gekoppeld, kiest u het aangepaste domein.
  7. Voeg een door komma's gescheiden lijst met rolnamen toe in het vak Rol .
  8. Voer het maximum aantal uren in dat de uitnodiging geldig moet blijven.
    • De maximale limiet is 168 uur, dat is zeven dagen.
  9. Selecteer Genereren.
  10. Kopieer de koppeling vanuit het vak Uitnodigingskoppeling .
  11. Stuur een e-mail naar de uitnodigingskoppeling naar de gebruiker waartoe u toegang verleent.

Wanneer de gebruiker de koppeling in de uitnodiging selecteert, wordt hij of zij gevraagd zich aan te melden met het bijbehorende account. Nadat de gebruiker is aangemeld, is deze gekoppeld aan de geselecteerde rollen.

Let op

Zorg ervoor dat uw routeregels niet conflicteren met de geselecteerde verificatieproviders. Het blokkeren van een provider met een routeregel voorkomt dat gebruikers uitnodigingen accepteren.

Roltoewijzingen bijwerken

  1. Ga naar een Static Web Apps-resource in Azure Portal.
  2. Selecteer onder Instellingen Rolbeheer.
  3. Selecteer de gebruiker in de lijst.
  4. Bewerk de lijst met rollen in het vak Rol .
  5. Selecteer Bijwerken.

Gebruiker verwijderen

  1. Ga naar een Static Web Apps-resource in Azure Portal.
  2. Selecteer onder Instellingen Rolbeheer.
  3. Zoek de gebruiker in de lijst.
  4. Schakel het selectievakje in de rij van de gebruiker in.
  5. Selecteer Verwijderen.

Houd bij het verwijderen van een gebruiker rekening met de volgende items:

  • Als u een gebruiker verwijdert, worden de machtigingen ongeldig.
  • Wereldwijde doorgifte kan enkele minuten duren.
  • Als de gebruiker weer aan de app wordt toegevoegd, worden de userId wijzigingen doorgevoerd.

Volgende stappen