【发布时间】:2021-11-19 21:10:52
【问题描述】:
我们有一个已安装在多个客户端上的 .NET Core Web 应用程序。我们使用 appsettings 文件来配置客户端之间的细微差别,例如数据库连接。我们一直在为每个客户使用 Microsoft 帐户身份验证。
现在我们有一个希望我们使用 ADFS 身份验证的客户端。理想情况下,我们希望能够使用我们的 appsettings 文件进行配置,但我不确定如何执行此操作。那么,我们如何同时使用 Microsoft 帐户和 ADFS 身份验证,并指定使用哪个?下面是我的启动文件的身份验证部分。出于保密原因,我省略了一些内容。我不知道我是否需要所有这些:
services.AddAuthentication().AddMicrosoftAccount(microsoftOptions =>
{
microsoftOptions.ClientId = Configuration["Authentication:Microsoft:ApplicationId"];
microsoftOptions.ClientSecret = Configuration["Authentication:Microsoft:Password"];
microsoftOptions.AuthorizationEndpoint = Configuration["Authentication:Microsoft:OAuth"];
microsoftOptions.TokenEndpoint = Configuration["Authentication:Microsoft:Token"];
microsoftOptions.CallbackPath = new PathString("/auth/callback");
microsoftOptions.UsePkce = false;
}).AddWsFederation(options =>
{
// MetadataAddress represents the Active Directory instance used to authenticate users.
options.MetadataAddress = "Omitted";
// 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:
options.Wtrealm = "Omitted";
// For AAD, use the Application ID URI from the app registration's Overview blade:
//options.Wtrealm = "api://bbd35166-7c13-49f3-8041-9551f2847b69";
});
【问题讨论】:
标签: .net asp.net-core authentication adfs microsoft-account