Övning – Konfigurera autentiseringsprovidrar och åtkomst

Slutförd

Webbappen för inköpslistan måste skydda åtkomsten till vissa vägar och inaktivera specifika autentiseringsprovidrar. I den här övningen uppdaterar du routningskonfigurationen för webbappen för att uppnå det resultatet.

I den här övningen ska du:

  1. Lägg till regler i routningskonfigurationen för att inaktivera vissa autentiseringsprovidrar.
  2. Skydda produktlistan så att endast autentiserade användare kan komma åt den.
  3. Distribuera den uppdaterade appen.
  4. Testa att begränsningarna är effektiva.

Inaktivera autentiseringsprovidrar

Vi uppdaterar routningskonfigurationen för vår app för att inaktivera Microsoft Entra-autentiseringsprovidern.

  1. Öppna projektet i Visual Studio Code.

  2. Öppna följande fil.

    angular-app/staticwebapp.config.json
    
    react-app/staticwebapp.config.json
    
    svelte-app/staticwebapp.config.json
    
    vue-app/staticwebapp.config.json
    
  3. Lägg till följande routningskonfiguration i roten för JSON-objektet.

    "routes": [
      {
        "route": "/.auth/login/aad",
        "statusCode": 404
      }
    ]
    

    Genom att lägga till den här routningsregeln hindrar vi våra användare från att komma åt Microsoft Entra-autentiseringsprovidern.

Skydda åtkomsten till produktlistan

Sedan vill vi skydda produktlistan så att endast autentiserade kan komma åt API:et. För det lägger vi till ytterligare en routningsregel i konfigurationsfilen staticwebapp.config.json .

  1. Lägg till följande regel överst i matrisen routes .

    {
      "route": "/api/products/*",
      "allowedRoles": ["authenticated"]
    },
    
  2. Den färdiga staticwebapp.config.json filen bör se ut så här:

    {
      "routes": [
        {
          "route": "/api/products/*",
          "allowedRoles": ["authenticated"]
        },
        {
          "route": "/.auth/login/aad",
          "statusCode": 404
        }
      ],
      "navigationFallback": {
        "rewrite": "/index.html",
        "exclude": ["*.{css,scss,js,png,gif,ico,jpg,svg}"]
      }
    }
    

Distribuera dina ändringar

Innan vi testar resultatet av den här konfigurationen distribuerar vi om appen.

  1. Öppna kommandopaletten i Visual Studio Code genom att trycka på F1.

  2. Ange och välj Git: Checka in alla.

  3. Ange Secure access som incheckningsmeddelande och tryck på Retur.

  4. Öppna kommandopaletten genom att trycka på F1.

  5. Ange och välj Git: Push och tryck på Retur.

När du har push-överfört ändringarna väntar du på att bygg- och distributionsprocessen ska köras. Ändringarna ska vara synliga i din distribuerade app efter det.

Testa de nya begränsningarna

När appen har distribuerats om kan du testa att de nya begränsningarna gäller.

  1. I fönstret Visual Studio Code Explorer går du tillbaka till avsnittet Statiska webbappar , högerklickar på my-static-web-app-and-authn och väljer sedan Bläddra på webbplats för att visa appen i webbläsaren.

  2. Om du inte är inloggad bör du se meddelandet Obehörig i stället för produktlistan.

  3. Välj Microsoft Entra-ID i listan med autentiseringsprovider för att logga in.

    Du bör se en 404-felsida som följande:

    Skärmbild som visar felsidan för Static Web Apps 404.

  4. Tryck på bakåtknappen i webbläsaren för att gå tillbaka till din app.

  5. Välj GitHub i listan över autentiseringsprovider för att logga in.

  6. Ange dina GitHub-autentiseringsuppgifter om du uppmanas att göra det och välj sedan Bevilja medgivande på sidan med Azure-medgivande.

Du är nu inloggad och bör se produktlistan.

Nästa steg

Grattis! Du har implementerat ett fullständigt autentiseringsarbetsflöde i din statiska webbapp!