Rychlý start: Přihlášení uživatelů a volání rozhraní Microsoft Graph API z webové aplikace ASP.NET Core

V tomto rychlém startu se pomocí ukázkové webové aplikace ASP.NET Core dozvíte, jak se přihlásit uživatele pomocí toku autorizačního kódu a volat rozhraní Microsoft Graph API. Ukázka používá knihovnu Microsoft Authentication Library pro .NET a web Microsoft Identity ke zpracování ověřování.

Požadavky

Registrace identifikátorů aplikace a záznamů

K dokončení registrace zadejte název aplikace a zadejte podporované typy účtů. Po registraci se v podokně Přehled aplikace zobrazí identifikátory potřebné ve zdrojovém kódu aplikace.

  1. Přihlaste se do Centra pro správu Microsoft Entra.

  2. Pokud máte přístup k více tenantům, pomocí ikony Nastavení v horní nabídce přepněte na tenanta, ve kterém chcete aplikaci zaregistrovat z nabídky Adresáře a předplatná.

  3. Přejděte na Aplikace> identit>Registrace aplikací vyberte Nová registrace.

  4. Zadejte název aplikace, například identity-client-web-app.

  5. U podporovaných typů účtů vyberte Pouze účty v tomto organizačním adresáři. Pokud chcete získat informace o různých typech účtů, vyberte možnost Nápověda pro výběr .

  6. Vyberte Zaregistrovat.

    Snímek obrazovky, který ukazuje, jak zadat jméno a vybrat typ účtu v Centru pro správu Microsoft Entra

  7. Po dokončení registrace se zobrazí podokno Přehled aplikace. Poznamenejte si ID adresáře (tenanta) a ID aplikace (klienta), které se má použít ve zdrojovém kódu aplikace.

    Snímek obrazovky znázorňující hodnoty identifikátoru na stránce přehledu v Centru pro správu Microsoft Entra

    Poznámka:

    Podporované typy účtů je možné změnit odkazem na úpravu účtů podporovaných aplikací.

Přidání identifikátoru URI přesměrování platformy

Pokud chcete zadat typ aplikace pro registraci aplikace, postupujte takto:

  1. V části Spravovat vyberte Ověřování.
  2. Na stránce Konfigurace platformy vyberte Přidat platformu a pak vyberte Možnost Web.
  3. Pro identifikátory URI přesměrování zadejte https://localhost:5001/signin-oidc.
  4. V části Adresa URL odhlášení z front kanálu zadejte https://localhost:5001/signout-callback-oidc pro odhlášení.
  5. Výběrem možnosti Konfigurovat uložte změny.

Klonování nebo stažení ukázkové aplikace

Pokud chcete získat ukázkovou aplikaci, můžete ji buď naklonovat z GitHubu, nebo si ji stáhnout jako soubor .zip .

  • Pokud chcete ukázku naklonovat, otevřete příkazový řádek a přejděte do umístění, kam chcete projekt vytvořit, a zadejte následující příkaz:

    git clone https://github.com/Azure-Samples/ms-identity-docs-code-dotnet.git
    
  • Stáhněte soubor .zip. Extrahujte ho do cesty k souboru, kde délka názvu je menší než 260 znaků.

Vytvoření a nahrání certifikátu podepsaného svým držitelem

  1. Pomocí terminálu pomocí následujících příkazů přejděte k vytvoření certifikátu podepsaného svým držitelem v adresáři projektu.

    cd ms-identity-docs-code-dotnet\web-app-aspnet\
    dotnet dev-certs https -ep ./certificate.crt --trust
    
  2. Vraťte se do Centra pro správu Microsoft Entra a v části Spravovat vyberte Certifikáty a tajné kódy>Nahrát certifikát.

  3. Vyberte kartu Certifikáty (0) a pak vyberte Nahrát certifikát.

  4. Zobrazí se podokno Nahrát certifikát . Pomocí ikony přejděte k souboru certifikátu, který jste vytvořili v předchozím kroku, a vyberte Otevřít.

  5. Zadejte popis certifikátu, například Certifikát pro aspnet-web-app, a vyberte Přidat.

  6. Poznamenejte si hodnotu kryptografického otisku pro použití v dalším kroku.

Konfigurace projektu

  1. V integrovaném vývojovém prostředí otevřete složku projektu ms-identity-docs-code-dotnet\web-app-aspnet obsahující ukázku.

  2. Otevřete appsettings.json a nahraďte obsah souboru následujícím fragmentem kódu;

    {
    "AzureAd": {
      "Instance": "https://login.microsoftonline.com/",
      "TenantId": "Enter the tenant ID obtained from the Microsoft Entra admin center",
      "ClientId": "Enter the client ID obtained from the Microsoft Entra admin center",
      "ClientCertificates": [
        {
          "SourceType": "StoreWithThumbprint",
          "CertificateStorePath": "CurrentUser/My",
          "CertificateThumbprint": "Enter the certificate thumbprint obtained the Microsoft Entra admin center"
        }   
      ],
      "CallbackPath": "/signin-oidc"
    },
      "DownstreamApi": {
        "BaseUrl": "https://graph.microsoft.com/v1.0/",
        "RelativePath": "me",
        "Scopes": [ 
          "user.read" 
        ]
      },
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft.AspNetCore": "Warning"
        }
      },
      "AllowedHosts": "*"
    }
    
    • TenantId – Identifikátor tenanta, ve kterém je aplikace zaregistrovaná. Text v uvozovkách nahraďte dříve zaznamenaným textem Directory (tenant) ID ze stránky přehledu registrované aplikace.
    • ClientId – Identifikátor aplikace, označovaný také jako klient. Nahraďte text v uvozovkách Application (client) ID hodnotou, která byla zaznamenána dříve na stránce přehledu registrované aplikace.
    • ClientCertificates – Certifikát podepsaný svým držitelem se používá k ověřování v aplikaci. Nahraďte text CertificateThumbprint kryptografickým otiskem certifikátu, který byl dříve zaznamenán.

Spuštění aplikace a přihlášení

  1. V adresáři projektu pomocí terminálu zadejte následující příkaz;

    dotnet run
    
  2. https Zkopírujte adresu URL, která se zobrazí v terminálu, https://localhost:5001například a vložte ji do prohlížeče. Doporučujeme použít soukromou nebo anonymní relaci prohlížeče.

  3. Postupujte podle pokynů a zadejte potřebné podrobnosti pro přihlášení pomocí účtu Microsoft. Požadujete, abyste zadali e-mailovou adresu, aby vám bylo možné poslat jednorázové heslo. Po zobrazení výzvy zadejte kód.

  4. Aplikace požaduje oprávnění k údržbě přístupu k datům, ke kterým jste jim udělili přístup, a k přihlášení a čtení profilu. Zvolte Přijmout.

  5. Zobrazí se následující snímek obrazovky, který označuje, že jste se přihlásili k aplikaci a že jste z rozhraní Microsoft Graph API přistupovali k podrobnostem profilu.

    Snímek obrazovky znázorňující výsledky volání rozhraní API

Odhlaste se z aplikace

  1. Vyhledejte odkaz Odhlásit se v pravém horním rohu stránky a vyberte ho.
  2. Zobrazí se výzva k výběru účtu, ze kterém se chcete odhlásit. Vyberte účet, který jste použili k přihlášení.
  3. Zobrazí se zpráva s oznámením, že jste se odhlásili. Teď můžete okno prohlížeče zavřít.