Я искал, но не смог найти никакой документации, касающейся использования нескольких .AddWsFederation
расширений.
В настоящее время у меня нет двух экземпляров AD, настроенных для тестирования, поэтому мне просто интересно, знаком ли кто-нибудь с концепцией добавления более чем одного .AddWsFederation
расширения в одном приложении.
Идея состоит в том, чтобы пользователи моего мультитенантного приложения могли входить через свои собственные экземпляры Azure Active Directory. Пользователь A , принадлежащий Арендатор A будет входить через свой собственный экземпляр Azure AD, в то время как пользователь B , который принадлежит Арендатор B , будет входить через свой собственный экземпляр Azure AD.
Кто-нибудь знает, возможно ли это или есть какая-либо документация по этому поводу?
services.AddAuthentication()
.AddWsFederation(options =>
{
// MetadataAddress represents the Active Directory instance used to authenticate users.
options.MetadataAddress = "https://login.microsoftonline.com/.../federationmetadata.xml";
// Wtrealm is the app's identifier in the Active Directory instance.
// For ADFS, use the relying party's identifier, its WS-Federation Passive protocol URL.
// For AAD, use the App ID URI from the app registration's Properties blade.
// Read more: https://docs.microsoft.com/en-us/aspnet/core/security/authentication/ws-federation
options.Wtrealm = Configuration["WtRealm"];
});
Редактировать: В настоящее время приложение использует сочетание аутентификации ASPNET Core Identity, а также обеспечивает вход в систему через один экземпляр WsFederation (как показано выше):
services.AddIdentity<ApplicationUser, IdentityRole>(options =>
{
options.Password.RequireNonAlphanumeric = false;
options.Password.RequiredLength = 10;
options.Password.RequireDigit = false;
options.Password.RequireLowercase = false;
options.Password.RequireUppercase = false;
options.User.RequireUniqueEmail = true;
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();