Snabbstart: Lägga till inloggning med Microsoft i en ASP.NET Core-webbapp
Välkommen! Det här är förmodligen inte den sida du förväntade dig. När vi arbetar med en korrigering bör den här länken ta dig till rätt artikel:
Snabbstart: Lägga till inloggning med Microsoft i en ASP.NET Core-webbapp
Vi ber om ursäkt för besväret och uppskattar ditt tålamod medan vi arbetar för att få detta löst.
I den här snabbstarten laddar du ned och kör ett kodexempel som visar hur en ASP.NET Core-webbapp kan logga in användare från alla Microsoft Entra-organisationer.
Steg 1: Konfigurera din app i Azure-portalen
För att kodexemplet i den här snabbstarten ska fungera:
- För omdirigerings-URI anger du https://localhost:44321/ och https://localhost:44321/signin-oidc.
- För URL för utloggning i Front-channel anger du https://localhost:44321/signout-oidc.
Auktoriseringsslutpunkten utfärdar begärande-ID-token.
Programmet har konfigurerats med dessa attribut.
Steg 2: Ladda ned projektet ASP.NET Core
Kör projektet.
Dricks
För att undvika fel som orsakas av sökvägslängdsbegränsningar i Windows rekommenderar vi att du extraherar arkivet eller klonar lagringsplatsen till en katalog nära roten på enheten.
Steg 3: Din app är konfigurerad och redo att köras
Vi har konfigurerat projektet med värden för appens egenskaper och är redo att köras.
Kommentar
Enter_the_Supported_Account_Info_Here
Mer information
Det här avsnittet ger en översikt över den kod som krävs för att logga in användare. Den här översikten kan vara användbar för att förstå hur koden fungerar, vad huvudargumenten är och hur du lägger till inloggning i ett befintligt ASP.NET Core-program.
Så här fungerar exemplet
Startklass
Mellanprogrammet Microsoft.AspNetCore.Authentication använder en Startup
klass som körs när värdprocessen startar:
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();
}
Metoden AddAuthentication()
konfigurerar tjänsten för att lägga till cookiebaserad autentisering. Den här autentiseringen används i webbläsarscenarier och för att ställa in utmaningen på OpenID Anslut.
Raden som innehåller .AddMicrosoftIdentityWebApp
lägger till Microsofts identitetsplattform autentisering i ditt program. Programmet konfigureras sedan för att logga in användare baserat på följande information i AzureAD
avsnittet i appsettings.json konfigurationsfil:
appsettings.json nyckel | beskrivning |
---|---|
ClientId |
Program-ID för programmet som är registrerat i Azure-portalen. |
Instance |
StS-slutpunkten (Security Token Service) som användaren kan autentisera. Det här värdet är vanligtvis https://login.microsoftonline.com/ , vilket anger det offentliga Azure-molnet. |
TenantId |
Namnet på din klientorganisation eller klientorganisations-ID (ett GUID) eller common för att logga in användare med arbets- eller skolkonton eller Personliga Microsoft-konton. |
Metoden Configure()
innehåller två viktiga metoder, app.UseAuthentication()
och app.UseAuthorization()
, som aktiverar deras namngivna funktioner. Configure()
I metoden måste du också registrera Microsoft Identity Web-vägar med minst ett anrop till endpoints.MapControllerRoute()
eller ett anrop till endpoints.MapControllers()
:
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
Attribut för att skydda en kontrollant eller metoder
Du kan skydda en kontrollant eller kontrollantmetoder med hjälp av attributet [Authorize]
. Det här attributet begränsar åtkomsten till kontrollanten eller metoderna genom att endast tillåta autentiserade användare. En autentiseringsutmaning kan sedan startas för att komma åt kontrollanten om användaren inte autentiseras.
Hjälp och support
Om du behöver hjälp, vill rapportera ett problem eller vill lära dig mer om dina supportalternativ kan du läsa Hjälp och support för utvecklare.
Nästa steg
GitHub-lagringsplatsen som innehåller den här ASP.NET Core-självstudien innehåller instruktioner och fler kodexempel som visar hur du:
- Lägg till autentisering i ett nytt ASP.NET Core-webbprogram.
- Anropa Microsoft Graph, andra Microsoft-API:er eller dina egna webb-API:er.
- Lägg till auktorisering.
- Logga in användare i nationella moln eller med sociala identiteter.