Sdílet prostřednictvím


Rychlý start: Volání webového rozhraní API chráněného platformou Microsoft Identity Platform

Platí pro: Zelený kruh se symbolem bílé značky zaškrtnutí, který označuje následující obsah platí pro tenanty pracovních sil. Tenanti pracovních sil zelený kruh se symbolem bílé značky zaškrtnutí, který označuje následující obsah platí pro externí tenanty. 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

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.

  1. 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:

    1. Jako název oboruzadejte access_as_user.
    2. U možnosti Kdo může souhlasit, ujistěte se, že je vybraná možnost Správci a uživatelé .
    3. Do pole Zobrazovaný název souhlasu správce zadejte .
    4. Do pole popis souhlasu správce zadejte Accesses the TodoListService web API as a user.
    5. Do pole Zobrazovaný název souhlasu uživatele zadejte Access TodoListService as a user.
    6. Do pole Popis souhlasu uživatele zadejte Accesses the TodoListService web API as a user.
    7. Pro Stav ponechte Povoleno.
  2. 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.

  1. Otevřete řešení v sadě Visual Studio a pak otevřete soubor appsettings.json v kořenovém adresáři projektu TodoListService.

  2. Hodnotu Enter_the_Application_Id_here nahraďte hodnotou ID klienta (ID aplikace) z aplikace, kterou jste zaregistrovali na portálu Portal ve vlastnostech ClientID i Audience.

Přidání nového oboru do souboru app.config

Chcete-li přidat nový obor do souboru todoListClient app.config, postupujte takto:

  1. V kořenové složce projektu TodoListClient otevřete soubor app.config.

  2. Do parametru TodoListServiceScope vlož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:

  1. Přihlaste se do centra pro správu Microsoft Entra alespoň jako správce cloudových aplikací.

  2. Přejděte doregistrace aplikace> a vyberte Nová registrace.

  3. Vyberte Nová registrace.

  4. Když se otevře stránka Zaregistrovat aplikaci, zadejte informace o registraci vaší aplikace:

    1. V části Název zadejte smysluplný název aplikace, který se zobrazí uživatelům aplikace (například NativeClient-DotNet-TodoListClient).
    2. U podporovaných typů účtůvyberte Účty v libovolném adresáři organizace.
    3. Výběrem možnosti Registrovat aplikaci vytvořte.

    Poznámka:

    V souboru projektu TodoListClient app.config je výchozí hodnota ida:Tenant nastavena na common. 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.
  5. Na stránce Přehled aplikace vyberte Ověřovánía poté dokončete následující kroky pro přidání platformy.

    1. V části Konfigurace platformyklikněte na tlačítko Přidat platformu.
    2. Pro Mobilní a desktopové aplikacevyberte možnost Mobilní a desktopové aplikace.
    3. Pro přesměrování identifikátorů URI zaškrtněte políčko https://login.microsoftonline.com/common/oauth2/nativeclient.
    4. Vyberte a nakonfigurujte.
  6. Vyberte oprávnění rozhraní APIa dokončete následující kroky pro přidání oprávnění:

    1. Vyberte tlačítko Přidat oprávnění.
    2. Vyberte kartu Moje rozhraní API.
    3. V seznamu rozhraní API vyberte AppModelv2-NativeClient-DotNet-TodoListService API nebo název, který jste zadali pro webové rozhraní API.
    4. 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.
    5. Vyberte tlačítko Přidat oprávnění.

Konfigurace projektu

Nakonfigurujte projekt TodoListClient přidáním ID aplikace do souboru app.config.

  1. Na portálu Registrace aplikací na stránce Přehled zkopírujte hodnotu ID aplikace (klienta).

  2. 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;

  1. Klikněte pravým tlačítkem na řešení sady Visual Studio a vyberte Vlastnosti

  2. V Části Společné vlastnosti vyberte Spouštěný projekt a pak Více spouštěných projektů.

  3. U obou projektů jako akci zvolte Spustit.

  4. 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.

  1. Stisknutím klávesy F5 spusťte projekty. Otevře se stránka služby i desktopová aplikace.

  2. 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.

  1. Na portálu Registrace aplikací otevřete vlastnosti vaší aplikace TodoListService.
  2. V části Zveřejnit rozhraní API v části Autorizované klientské aplikacevyberte Přidat klientskou aplikaci.
  3. Do pole ID klienta vložte ID aplikace TodoListClient.
  4. V části Autorizované obory vyberte obor webového rozhraní API api://<Application ID>/access_as_user.
  5. Vyberte Přidat aplikaci.

Spusťte svůj projekt

  1. Stisknutím klávesy F5 spusťte projekt. Otevře se vaše aplikace TodoListClient.
  2. 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.