【问题标题】:Integrate an existing cookie authentication provider with identityserver3将现有的 cookie 身份验证提供程序与 identityserver3 集成
【发布时间】:2016-10-13 13:12:03
【问题描述】:

这是我的问题:

我有一个使用 OWIN cookie 进行身份验证的现有身份验证提供程序(我控制源代码)。登录过程有许多带有自定义屏幕的步骤。现在我想将该提供程序与 identityserver3 集成。

这是我的想法:

答:为 identityserver3 实现一个虚拟视图服务,该服务将元重定向到我现有提供商的登录页面。不好的部分是当我必须完成登录过程时,因为我看到的唯一方法是使用用户名和密码将表单自我发布到 identityserver3。

B:我可以在我的提供者项目中拥有 identityserver3 并呈现我的提供者的入口登录屏幕(在 MVC 的源代码中有一个非常 hacky 的示例),但同样,就像 A 点一样,最后我必须以某种方式发布用户名和密码返回identityserver3

C:使用 identityserver3 中的外部提供程序。为此,我需要自动重定向到我的提供者并注册自定义身份验证中间件。因为我们的提供程序是一个标准的 OWIN cookie 提供程序,所以我认为我可以使用 Katana 的 CookieAuthenticationMiddleware 但这似乎不起作用。

什么是实现我想要的正确方法(将我的 cookie 提供程序与 identityserver3 集成)???

【问题讨论】:

    标签: authentication cookies identityserver3


    【解决方案1】:

    选项 D:使用 OWIN 环境扩展方法告诉 IdSvr 您的用户是谁:https://identityserver.github.io/Documentation/docsv2/advanced/owin.html。不过,这仍然会让 IdSvr 发出自己的 cookie。删除您自己的 cookie 中间件并让 IdSvr 管理 cookie 可能是有意义的。

    【讨论】:

    • 谢谢 - 它成功了!我使用扩展来获取部分重定向 URL,并结合扩展 UserServiceBase 和启动部分登录来更新部分登录 cookie。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 2017-12-25
    • 2013-09-08
    • 2023-03-24
    • 2015-08-24
    • 2017-03-07
    • 2020-09-28
    相关资源
    最近更新 更多