Gå til indhold

Ecreo.Essentials.AzureADLogin

Ecreo.Essentials.AzureADLogin registrerer Azure AD / Microsoft Entra ID som ekstern login-provider til Umbraco backoffice.

Pakken er hardcodet med fallback-konfiguration til Ecreos egen Entra ID-konto. På almindelige Ecreo-projekter er konfiguration derfor normalt ikke nødvendig.

Installer pakken i dit Umbraco-projekt:

Terminal window
dotnet add package Ecreo.Essentials.AzureADLogin

Pakken registrerer sine services via en Umbraco composer, så den kræver normalt ikke ændringer i Program.cs.

Pakken læser konfiguration fra Ecreo:Essentials:AzureADLogin:

Du skal kun sætte konfiguration, hvis projektet skal bruge en anden tenant, app registration, login instance eller standard user group end Ecreos defaults.

{
"Ecreo": {
"Essentials": {
"AzureADLogin": {
"Enabled": true,
"TenantId": "00000000-0000-0000-0000-000000000000",
"ClientId": "00000000-0000-0000-0000-000000000000",
"Instance": "https://login.microsoftonline.com/",
"AutolinkUser": true,
"DefaultUserGroups": ["admin"],
"AllowedHosts": ["mitprojekt.dk", "www.mitprojekt.dk"]
}
}
}
}
Option Standard Beskrivelse
Enabled true Slår login-provider registreringen til/fra.
TenantId Ecreo fallback tenant Azure AD tenant id.
ClientId Ecreo fallback app id Application/client id.
Instance https://login.microsoftonline.com/ Microsoft identity endpoint.
AutolinkUser true Opretter/linker Umbraco-bruger automatisk ved første login.
DefaultUserGroups ["admin"] Umbraco user groups for auto-linkede brugere.
AllowedHosts [] Hostnavne hvor Azure AD login må startes direkte fra backoffice login-skærmen.
  • Backoffice external login med scheme Ecreo.AzureADLogin.
  • Callback path /umbraco-signing-generic.
  • Claims mapping fra preferred username til email og name claim til Umbraco name.
  • Auto-linking, hvor brugeren godkendes automatisk ved oprettelse.
  • En custom backoffice login-knap, der kan sende brugeren til et kanonisk hostnavn før Azure AD login startes.

AllowedHosts bruges, når backoffice kan tilgås på flere hostnavne, men Azure AD login kun skal startes fra et eller flere bestemte hostnavne. Det er især relevant på sites, hvor Entra app registration kun har redirect URL for det kanoniske produktionsdomæne.

Hvis AllowedHosts er tom eller ikke er sat, antager login-knappen at det aktuelle hostnavn er tilladt, så login kan startes direkte fra den nuværende backoffice-URL.

Tomme eller blanke entries i AllowedHosts bliver ignoreret.

Hvis AllowedHosts har værdier, sammenligner login-knappen den aktuelle window.location.host med listen. Matcher hostnavnet ikke, starter knappen ikke Azure AD login direkte. I stedet sender den brugeren til /umbraco på det første hostnavn i listen:

{
"Ecreo": {
"Essentials": {
"AzureADLogin": {
"AllowedHosts": ["mitprojekt.dk"]
}
}
}
}

Eksempel: Hvis brugeren står på https://mitprojekt.euwest01.umbraco.io/umbraco, og AllowedHosts er sat til ["mitprojekt.dk"], sender login-knappen brugeren til:

https://mitprojekt.dk/umbraco

Angiv hostnavne uden https:// og uden sti. Medtag port, hvis hosten bruger en port, f.eks. localhost:44312.

På live-sites skal sidens redirect URL registreres i Ecreos Entra ID app registration.

Redirect URL’en er sitets host efterfulgt af callback path:

https://myproject.euwest01.umbraco.io/umbraco-signing-generic

Det er kun administratorer hos Ecreo, der kan registrere redirect URLs i Entra.

Anmod om registrering af redirect URLs via kanalen Intern support i Teams.

Composeren læser selv builder.Config, så manuel registrering er normalt ikke nødvendig.

Hvis du vil registrere direkte i en composer, kan du bruge options eller IConfiguration.

public class LoginComposer : IComposer
{
public void Compose(IUmbracoBuilder builder)
{
builder.AddEcreoEssentialsAzureADLogin(options =>
{
options.Enabled = true;
options.TenantId = "tenant-id";
options.ClientId = "client-id";
options.DefaultUserGroups = ["editor"];
});
}
}

AllowedHosts styrer login-knappen i backoffice. Angiv hostnames med eventuel port uden protokol eller sti. En tom liste bruger det aktuelle hostname. På andre hostnames sender knappen brugeren til det første konfigurerede hostname med den aktuelle protokol og stien /umbraco. Listen er ikke adgangskontrol på serveren.

Pakken leverer et JSON schema til IntelliSense. Se opsætning og konfigurationssektioner.