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 použijete ukázkovou webovou aplikaci ASP.NET Core k přihlášení uživatelů pomocí toku autorizačního kódu a zavolání rozhraní Microsoft Graph API. Ukázka používá Microsoft Authentication Library pro .NET a Microsoft Identity Web k zajištění ověřování.
Požadavky
- Účet Azure s aktivním předplatným. Pokud ho ještě nemáte, vytvořte účet zdarma.
- Minimální požadavek sady SDK .NET 8.0
- Visual Studio Code
Registrace identifikátorů aplikace a záznamů
K dokončení registrace zadejte název aplikace a zadejte podporované typy účtů. Po registraci aplikace podokno Přehled zobrazí identifikátory potřebné ve zdrojovém kódu aplikace.
Pokud máte přístup k více tenantům, pomocí ikony Nastavení
v horní nabídce přepněte do tenanta, ve kterém chcete aplikaci zaregistrovat z nabídky Adresáře a předplatná.
Přejděte na Identity>Applications>Registrace aplikací, vyberte Nová registrace.
Zadejte název aplikace, například identity-client-web-app.
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 Pomozte mi zvolit možnost.
Vyberte Zaregistrovat.
Po dokončení registrace se zobrazí podokno Přehled aplikace. Poznamenejte ID adresáře (tenanta) a ID aplikace (klient), které se mají použít ve zdrojovém kódu aplikace.
Poznámka
Typy podporovaných účtů lze změnit odkazem na Upravit účty podporované aplikací.
Přidejte identifikátor URI přesměrování platformy
Pokud chcete zadat typ aplikace pro registraci aplikace, postupujte takto:
- V části Spravovatvyberte Ověřování.
- Na stránce konfigurací platformy vyberte Přidat platformua pak vyberte možnost Web.
- Pro přesměrovací URI zadejte
https://localhost:5001/signin-oidc
. - Pod URL odhlášení front-kanáluzadejte
https://localhost:5001/signout-callback-oidc
pro odhlášení. - Výběrem Konfigurace 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
K zabezpečení aplikace přidáte do aplikace certifikát. V této části se dozvíte, jak vytvořit certifikát podepsaný svým držitelem a nahrát ho do registrace aplikace v Centru pro správu Microsoft Entra.
Poznámka
Certifikáty podepsané svým držitelem by se měly používat jenom při vývoji. V produkčním prostředí byste měli použít certifikát od důvěryhodné certifikační autority.
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
Vraťte se do Centra pro správu Microsoft Entra a v části Spravovatvyberte Certifikáty & tajných kódů>Nahrát certifikát.
Vyberte kartu Certifikáty (0), a pak vyberte Nahrát certifikát.
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.
Zadejte popis certifikátu, například Certifikát pro aspnet-web-app, a vyberte Přidat.
Poznamenejte si hodnotu otisku palce pro použití v dalším kroku.
Konfigurace projektu
V integrovaném vývojovém prostředí otevřete složku projektu ms-identity-docs-code-dotnet\web-app-aspnetobsahující ukázku.
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á. Nahraďte text v uvozovkáchDirectory (tenant) ID
, který byl zaznamenán dříve ze stránky přehledu registrované aplikace. -
ClientId
– identifikátor aplikace, označovaný také jako klient. Nahraďte text v uvozovkách hodnotouApplication (client) ID
, která byla zaznamenána dříve ze stránky přehledu registrované aplikace. -
ClientCertificates
– Certifikát podepsaný svým držitelem se používá k ověřování v aplikaci. Nahraďte textCertificateThumbprint
kryptografickým otiskem certifikátu, který byl dříve zaznamenán.
-
Spuštění aplikace a přihlášení
V adresáři projektu pomocí terminálu zadejte následující příkaz;
dotnet run
Zkopírujte
https
adresu URL, která se zobrazí v terminálu, napříkladhttps://localhost:5001
a vložte ji do prohlížeče. Doporučujeme použít soukromou nebo anonymní relaci prohlížeče.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.
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. Vyberte Přijmout.
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.
Odhlaste se z aplikace
- Najděte odkaz Odhlásit se v pravém horním rohu stránky a vyberte ho.
- 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í.
- Zobrazí se zpráva s oznámením, že jste se odhlásili. Teď můžete okno prohlížeče zavřít.
Související obsah
- Naučte se vytvářet webovou aplikaci ASP.NET pomocí série Kurz: Registrace aplikace na platformě Microsoft identity.
- Rychlý start: Ochrana webového rozhraní API ASP.NET Core pomocí platformy Microsoft identity platform.
- Rychlý start : Nasazení webové aplikace ASP.NET do služby Azure App Service