所以本质上我有一个 Blazor 服务器端应用程序。我正在尝试使用 Azure AD SAML 添加外部身份验证。我在用Sustainsys.Saml2.AspNetCore2
用于外部身份验证的包。我不太熟悉 ASP.NET 或 Blazor 中的不同身份验证方法。
我将 Blazor 服务器端模板用于 docker Linux 容器,该容器已将身份验证设置为个人帐户,并将 Azure AD SAML 添加为外部。
这是我的Configure Services
看起来像里面Startup.cs
public void ConfigureServices(IServiceCollection services)
{
this.LoadConfigurations();
services.AddDataProtection();
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
.AddEntityFrameworkStores<ApplicationDbContext>();
services.AddRazorPages();
services.AddServerSideBlazor();
services.AddElasticsearch(this.Configuration);
services.AddHttpContextAccessor();
services.AddScoped<AuthenticationStateProvider, RevalidatingIdentityAuthenticationStateProvider<IdentityUser>>();
services.AddAuthentication()
.AddSaml2("AAD", "Azure AD", options =>
{
options.SPOptions.EntityId = new EntityId("spn:" + this.Configuration["AzureAD:EnterpriseAppId"]);
options.SPOptions.ReturnUrl = new Uri(this.Configuration["AzureAD:ReturnUrl"]);
options.IdentityProviders.Add(
new IdentityProvider(
new EntityId(this.Configuration["AzureAD:AzureADId"]), options.SPOptions)
{
LoadMetadata = true,
MetadataLocation = this.Configuration["AzureAD:AppMetadataUrl"]
}
);
});
}
这里我们使用SQLServer数据库并存储用户身份?该应用程序使用通用登录页面:
在我的用例中,我只想通过 Azure AD 对用户进行身份验证。我不希望他们创建和使用本地帐户,也不希望有任何本地数据库。我到处寻找,但找不到不使用数据库的解决方案。有人可以帮助我找到正确的方向吗?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)