Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Tenanti pracovních sil
Externí tenanti (další informace)
V tomto rychlém startu použijete ukázkovou webovou aplikaci, která vám ukáže, jak chránit webové rozhraní API ASP.NET pomocí platformy Microsoft Identity Platform. Ukázka používá Microsoft Authentication Library (MSAL) ke zajištění ověřování a autorizace.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Zaregistrujte novou aplikaci v Centru pro správu Microsoft Entra a poznamenejte si jeho identifikátory ze stránky Přehled aplikace. Další informace najdete v tématu Registrace aplikace.
- Název: NewWebAPI1
- podporované typy účtů: Účty v tomto organizačním adresáři (pouze jeden tenant)
- Visual Studio 2022. Stáhněte si Visual Studio zdarma.
Zveřejnit rozhraní API
Po registraci rozhraní API můžete nakonfigurovat jeho oprávnění definováním oborů, které rozhraní API zveřejňuje klientským aplikacím. Klientské aplikace požadují oprávnění k provádění operací předáním přístupového tokenu spolu s požadavky na chráněné webové rozhraní API. Webové rozhraní API pak provede požadovanou operaci pouze v případě, že přístupový token, který obdrží, obsahuje požadované obory.
V části Spravovatvyberte Zveřejnit rozhraní API>Přidat obor. Přijměte navrhovaný identifikátor URI ID aplikace (
api://{clientId}) tak, že vyberete Uložit a pokračovata pak zadáte následující informace:- Jako název oboruzadejte
access_as_user. - U možnosti Kdo může souhlasit, ujistěte se, že je vybraná možnost Správci a uživatelé .
- Do pole Zobrazovaný název souhlasu správce zadejte .
- Do pole popis souhlasu správce zadejte
Accesses the TodoListService web API as a user. - Do pole Zobrazovaný název souhlasu uživatele zadejte
Access TodoListService as a user. - Do pole Popis souhlasu uživatele zadejte
Accesses the TodoListService web API as a user. - Pro Stav ponechte Povoleno.
- Jako název oboruzadejte
Vyberte Přidat rozsah.
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.
git clone https://github.com/AzureADQuickStarts/AppModelv2-NativeClient-DotNet.git
Návod
Pokud se chcete vyhnout chybám způsobeným omezením délky cesty ve Windows, doporučujeme extrahovat archiv nebo klonovat úložiště do adresáře blízko kořenového adresáře jednotky.
Konfigurace ukázkové aplikace
Nakonfigurujte ukázku kódu tak, aby odpovídala registrovanému webovému rozhraní API.
Otevřete řešení v sadě Visual Studio a pak otevřete soubor appsettings.json v kořenovém adresáři projektu TodoListService.
Hodnotu
Enter_the_Application_Id_herenahraďte hodnotou ID klienta (ID aplikace) z aplikace, kterou jste zaregistrovali na portálu Portal ve vlastnostechClientIDiAudience.
Přidání nového oboru do souboru app.config
Chcete-li přidat nový obor do souboru todoListClient app.config, postupujte takto:
V kořenové složce projektu TodoListClient otevřete soubor app.config.
Do parametru
TodoListServiceScopevložte ID aplikace z aplikace, kterou jste zaregistrovali pro projekt TodoListService a nahraďte řetězec{Enter the Application ID of your TodoListService from the app registration portal}.
Poznámka:
Ujistěte se, že ID aplikace používá následující formát: api://{TodoListService-Application-ID}/access_as_user (kde {TodoListService-Application-ID} je identifikátor GUID představující ID aplikace pro vaši aplikaci TodoListService).
Registrace webové aplikace (TodoListClient)
Zaregistrujte aplikaci TodoListClient v registracích aplikací v Centru pro správu Microsoft Entra a nakonfigurujte kód v projektu TodoListClient. Pokud se klient a server považují za stejnou aplikaci, můžete aplikaci zaregistrovanou v kroku 2 znovu použít. Stejnou aplikaci použijte, pokud chcete, aby se uživatelé přihlásili pomocí osobního účtu Microsoft.
Registrace aplikace
Aplikaci TodoListClient zaregistrujete takto:
Přihlaste se do centra pro správu Microsoft Entra alespoň jako správce cloudových aplikací.
Přejděte doregistrace aplikace> a vyberte Nová registrace.
Vyberte Nová registrace.
Když se otevře stránka Zaregistrovat aplikaci, zadejte informace o registraci vaší aplikace:
- V části Název zadejte smysluplný název aplikace, který se zobrazí uživatelům aplikace (například NativeClient-DotNet-TodoListClient).
- U podporovaných typů účtůvyberte Účty v libovolném adresáři organizace.
- Výběrem možnosti Registrovat aplikaci vytvořte.
Poznámka:
V souboru projektu TodoListClient app.config je výchozí hodnota
ida:Tenantnastavena nacommon. Možné hodnoty:-
common: Můžete se přihlásit pomocí pracovního nebo školního účtu nebo osobního účtu Microsoft (protože jste vybrali Účty v libovolném adresáři organizace v předchozím kroku). -
organizations: Můžete se přihlásit pomocí pracovního nebo školního účtu. -
consumers: Můžete se přihlásit jenom pomocí osobního účtu Microsoft.
Na stránce Přehled aplikace vyberte Ověřovánía poté dokončete následující kroky pro přidání platformy.
- V části Konfigurace platformyklikněte na tlačítko Přidat platformu.
- Pro Mobilní a desktopové aplikacevyberte možnost Mobilní a desktopové aplikace.
- Pro přesměrování identifikátorů URI zaškrtněte políčko
https://login.microsoftonline.com/common/oauth2/nativeclient. - Vyberte a nakonfigurujte.
Vyberte oprávnění rozhraní APIa dokončete následující kroky pro přidání oprávnění:
- Vyberte tlačítko Přidat oprávnění.
- Vyberte kartu Moje rozhraní API.
- V seznamu rozhraní API vyberte AppModelv2-NativeClient-DotNet-TodoListService API nebo název, který jste zadali pro webové rozhraní API.
- Zaškrtněte políčko pro oprávnění access_as_user, pokud ještě není zaškrtnuté. V případě potřeby použijte vyhledávací pole.
- Vyberte tlačítko Přidat oprávnění.
Konfigurace projektu
Nakonfigurujte projekt TodoListClient přidáním ID aplikace do souboru app.config.
Na portálu Registrace aplikací na stránce Přehled zkopírujte hodnotu ID aplikace (klienta).
Z kořenové složky projektu TodoListClient otevřete soubor app.config a vložte hodnotu ID aplikace do parametru
ida:ClientId.
Spuštění ukázkové aplikace
Zahajte oba projekty. Pro uživatele sady Visual Studio;
Klikněte pravým tlačítkem na řešení sady Visual Studio a vyberte Vlastnosti
V Části Společné vlastnosti vyberte Spouštěný projekt a pak Více spouštěných projektů.
U obou projektů jako akci zvolte Spustit.
Pomocí šipky nahoru se ujistěte, že služba TodoListService začne nejprve tím, že ji přesunete na první pozici v seznamu.
Přihlaste se a spusťte projekt TodoListClient.
Stisknutím klávesy F5 spusťte projekty. Otevře se stránka služby i desktopová aplikace.
V todoListClient v pravém horním rohu vyberte Přihlásit sea pak se přihlaste pomocí stejných přihlašovacích údajů, které jste použili k registraci aplikace, nebo se přihlaste jako uživatel ve stejném adresáři.
Pokud se přihlašujete poprvé, může se zobrazit výzva k vyjádření souhlasu s webovým rozhraním API TodoListService.
Pro usnadnění přístupu k webovému rozhraní API todoListService a manipulaci se seznamem úkolů vyžaduje přihlášení také přístupový token do oboru access_as_user.
Předběžná autorizace klientské aplikace
Uživatelům z jiných adresářů můžete povolit přístup k webovému rozhraní API tak, že předem autorizujete klientskou aplikaci pro přístup k webovému rozhraní API. Uděláte to tak, že přidáte ID aplikace z klientské aplikace do seznamu předvyvěřovaných aplikací pro vaše webové rozhraní API. Přidáním předem autorizovaného klienta povolíte uživatelům přístup k webovému rozhraní API, aniž by museli poskytnout souhlas.
- Na portálu Registrace aplikací otevřete vlastnosti vaší aplikace TodoListService.
- V části Zveřejnit rozhraní API v části Autorizované klientské aplikacevyberte Přidat klientskou aplikaci.
- Do pole ID klienta vložte ID aplikace TodoListClient.
- V části Autorizované obory vyberte obor webového rozhraní API
api://<Application ID>/access_as_user. - Vyberte Přidat aplikaci.
Spusťte svůj projekt
- Stisknutím klávesy F5 spusťte projekt. Otevře se vaše aplikace TodoListClient.
- V pravém horním rohu vyberte Přihlásit sea pak se přihlaste pomocí osobního účtu Microsoft, jako je live.com nebo hotmail.com účet nebo pracovní nebo školní účet.
Volitelné: Omezení přístupu k přihlášení určitým uživatelům
Ve výchozím nastavení můžou všechny osobní účty, jako jsou outlook.com nebo live.com účty, pracovní nebo školní účty z organizací integrovaných s Microsoft Entra ID požadovat tokeny a přistupovat k vašemu webovému rozhraní API.
Pokud chcete určit, kdo se může přihlásit k aplikaci, změnou vlastnosti TenantId v souboru appsettings.json.
Další kroky
Zjistěte, jak chránit webové rozhraní API ASP.NET Core pomocí platformy Microsoft Identity Platform.