c# - 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";
}
但它导致身份验证服务器和身份验证服务器之间的重定向错误太多谢谢
解决方案
我刚刚回答了另一个与此非常相似的问题,所以这是一个无耻的复制和粘贴:
这将不起作用,因为身份服务器需要在进行身份验证后发布自己的 cookie。此 cookie 允许授权端点知道谁已登录。
此模型的目的是在 IDP 上进行身份验证,或者通过合适的协议与外部提供商协商。因此,在这种情况下,适当的方法是将登录 UI 移动到您的身份服务器应用程序中。具体如何完成以及从何处获取数据完全取决于您,但必须是您的身份服务器 4 发出 cookie。
推荐阅读
- django - Django-管理部分视图不正确
- android - 如何以正确的方式将jwt存储在android应用程序中?
- python - 使用 pytest 记录毫秒数
- mailchimp - Mailchimp API:向带有标签的用户发送活动
- rest - Jira REST api,更新特定于项目的自定义字段选项
- wordpress - 使用 gatsby 和 WPML 进行语言切换
- javascript - 如何在 JSDoc 中定义类参数的类型?
- excel - 有条件地转置excel数据
- javascript - 为什么 nuxt 内容获取方法不起作用?
- sql - 使用 JOIN 生成语法错误的 UNION ALL 子查询