【发布时间】:2021-02-25 09:43:29
【问题描述】:
我正在尝试将 Microsoft 配置为 Identityserver4 中的外部登录提供程序。
我通过使用AddMicrosoftAccount 遵循身份服务器的文档成功:
services.AddAuthentication().AddMicrosoftAccount(microsoftOptions =>
{
microsoftOptions.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme;
microsoftOptions.ClientId = configuration["MicrosoftLoginProvider:ClientId"];
microsoftOptions.ClientSecret = configuration["MicrosoftLoginProvider:ClientSecret"];
});
但是,我没有让单点注销工作的运气。该文档与 Microsoft 在 https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/microsoft-logins?view=aspnetcore-5.0 的文档一致。
但是,如果您按照说明在 Microsoft 开发人员门户 (portal.azure.com) 中创建应用,则该门户上的示例代码建议采用不同的方式。门户为我生成的示例应用程序(WebApp-OpenIDConnect-DotNet)正在使用AddMicrosoftIdentityWebApp:
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));
由于这个应用程序是开箱即用的,包括单点注销,我想知道这是否是我必须继续的方式。
然而,令我惊讶的是,我找不到任何关于如何将这种方法集成到 IdentityServer4 中的文档/博客。我几乎可以自己完成它,但有一些奇怪的问题。
有人可以澄清使用AddMicrosoftIdentityWebApp 是否是将Microsoft 作为外部身份提供者添加到Identityserver4 的方法?
有人成功让AddMicrosoftIdentityWebApp 与 IdentityServer4 一起工作吗?
感谢您的帮助!
【问题讨论】:
标签: asp.net-core azure-active-directory identityserver4 openid-connect