Szybki start: dodawanie logowania przy użyciu konta Microsoft do aplikacji internetowej platformy ASP.NET Core
Witamy! Prawdopodobnie nie jest to oczekiwana strona. Chociaż pracujemy nad poprawką, ten link powinien podjąć Cię do odpowiedniego artykułu:
Przepraszamy za niedogodności i doceniamy cierpliwość, podczas gdy pracujemy nad rozwiązaniem tego problemu.
W tym przewodniku Szybki start pobierzesz i uruchomisz przykładowy kod, który pokazuje, jak aplikacja internetowa ASP.NET Core może logować użytkowników z dowolnej organizacji firmy Microsoft Entra.
Krok 1. Konfigurowanie aplikacji w witrynie Azure Portal
Aby przykładowy kod w tym przewodniku Szybki start działał:
- W polu Identyfikator URI przekierowania wprowadź i https://localhost:44321/https://localhost:44321/signin-oidc.
- W polu Adres URL wylogowywania kanału frontonu wprowadź .https://localhost:44321/signout-oidc
Punkt końcowy autoryzacji będzie wystawiać tokeny identyfikatora żądania.
Aplikacja jest skonfigurowana przy użyciu tych atrybutów.
Krok 2. Pobieranie projektu ASP.NET Core
Uruchamianie projektu.
Napiwek
Aby uniknąć błędów spowodowanych ograniczeniami długości ścieżki w systemie Windows, zalecamy wyodrębnienie archiwum lub sklonowanie repozytorium do katalogu w pobliżu katalogu głównego dysku.
Krok 3. Aplikacja jest skonfigurowana i gotowa do uruchomienia
Skonfigurowaliśmy projekt z wartościami właściwości aplikacji i wszystko jest gotowe do uruchomienia.
Uwaga
Enter_the_Supported_Account_Info_Here
Więcej informacji
Ta sekcja zawiera omówienie kodu wymaganego do logowania użytkowników. To omówienie może być przydatne, aby zrozumieć, jak działa kod, jakie są główne argumenty i jak dodać logowanie do istniejącej aplikacji ASP.NET Core.
Jak działa przykład
Klasa początkowa
Oprogramowanie pośredniczące Microsoft.AspNetCore.Authentication używa Startup
klasy uruchamianej podczas uruchamiania procesu hostingu:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));
services.AddControllersWithViews(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
});
services.AddRazorPages()
.AddMicrosoftIdentityUI();
}
Metoda AddAuthentication()
konfiguruje usługę w celu dodania uwierzytelniania opartego na plikach cookie. To uwierzytelnianie jest używane w scenariuszach przeglądarki i ustawia wyzwanie dla Połączenie OpenID.
Wiersz zawierający .AddMicrosoftIdentityWebApp
dodaje Platforma tożsamości Microsoft uwierzytelniania do aplikacji. Aplikacja jest następnie skonfigurowana do logowania użytkowników na podstawie następujących informacji w AzureAD
sekcji pliku konfiguracji appsettings.json :
klucz appsettings.json | opis |
---|---|
ClientId |
Identyfikator aplikacji (klienta) aplikacji zarejestrowanej w witrynie Azure Portal. |
Instance |
Punkt końcowy usługi tokenu zabezpieczającego (STS) dla użytkownika do uwierzytelniania. Ta wartość to zazwyczaj https://login.microsoftonline.com/ wartość wskazująca chmurę publiczną platformy Azure. |
TenantId |
Nazwa dzierżawy lub identyfikator dzierżawy (identyfikator GUID) lub common logowanie użytkowników przy użyciu kont służbowych lub osobistych Microsoft. |
Metoda Configure()
zawiera dwie ważne metody app.UseAuthentication()
i app.UseAuthorization()
, które umożliwiają ich nazwane funkcje. Ponadto w metodzie Configure()
należy zarejestrować trasy sieci Web tożsamości microsoft z co najmniej jednym wywołaniem endpoints.MapControllerRoute()
lub wywołaniem metody :endpoints.MapControllers()
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
Atrybut do ochrony kontrolera lub metod
Metody kontrolera lub kontrolera można chronić za pomocą atrybutu [Authorize]
. Ten atrybut ogranicza dostęp do kontrolera lub metod, zezwalając tylko na uwierzytelnionych użytkowników. Następnie można rozpocząć uwierzytelnianie w celu uzyskania dostępu do kontrolera, jeśli użytkownik nie jest uwierzytelniony.
Pomoc i obsługa techniczna
Jeśli potrzebujesz pomocy, chcesz zgłosić problem lub poznać opcje pomocy technicznej, zobacz Pomoc i obsługa techniczna dla deweloperów.
Następne kroki
Repozytorium GitHub zawierające ten samouczek ASP.NET Core zawiera instrukcje i więcej przykładów kodu, które pokazują, jak wykonać następujące czynności:
- Dodaj uwierzytelnianie do nowej aplikacji internetowej ASP.NET Core.
- Wywołaj program Microsoft Graph, inne interfejsy API firmy Microsoft lub własne internetowe interfejsy API.
- Dodaj autoryzację.
- Logowanie użytkowników w chmurach krajowych lub przy użyciu tożsamości społecznościowych.