我已经搜索过,但是找不到有关使用多个.AddWsFederation
扩展名的任何文档。
我目前没有要测试的两个AD实例设置,所以我只是想知道是否有人熟悉在单个扩展中添加个以上 .AddWsFederation
扩展名的概念应用程式。
想法是允许我的多租户应用程序的用户通过他们自己的Azure Active Directory实例登录。 用户A 属于 Tenant A 将通过其自己的Azure AD实例登录,而属于 Tenant 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();