首页 > 解决方案 > IdentityServer4 - 使用外部身份验证

问题描述

我正在尝试使用混合流程使用 IdentityServer4 实现授权服务器。假设网址是:auth.company.com

为了验证用户身份,该公司使用简单的 .NET MVC 登录/密码表单。网址:client.company.com/login.html

我的问题是:如何将身份验证系统插入 IdentityServer4?

我试过添加这个:

Startup.cs / ConfigureServices()

services.AddIdentityServer(SetupIdentityServer)
 private static void SetupIdentityServer(IdentityServerOptions options)
        {
            options.UserInteraction.LoginUrl = @"client.company.com/login.html";
            options.UserInteraction.LoginReturnUrlParameter = "referrer";

        }

但它导致身份验证服务器和身份验证服务器之间的重定向错误太多谢谢

标签: c#authenticationopenididentityserver4openid-connect

解决方案


我刚刚回答了另一个与此非常相似的问题,所以这是一个无耻的复制和粘贴:

这将不起作用,因为身份服务器需要在进行身份验证后发布自己的 cookie。此 cookie 允许授权端点知道谁已登录。

此模型的目的是在 IDP 上进行身份验证,或者通过合适的协议与外部提供商协商。因此,在这种情况下,适当的方法是将登录 UI 移动到您的身份服务器应用程序中。具体如何完成以及从何处获取数据完全取决于您,但必须是您的身份服务器 4 发出 cookie。


推荐阅读