这是我的问题:
我有一个使用OWIN cookie进行身份验证的现有身份验证提供程序(我控制源代码)。登录过程包含许多自定义屏幕的步骤。现在我想将该提供程序与identityserver3集成。
以下是我的想法:
答:为identityserver3实现虚拟视图服务,该服务将元重定向到现有提供程序的登录页面。糟糕的部分是我必须完成登录过程,因为我看到的唯一方法是使用用户名和密码将表单自行发布到identityserver3。
B:我可以在我的提供者项目中拥有identityserver3并呈现我的提供者的入口登录屏幕(在MVC的源代码中有一个非常hacky的例子),但是再次,像点A,最后我必须以某种方式发布用户名和密码返回identityserver3
C:使用identityserver3中的外部提供程序。为此,我需要自动重定向到我的提供程序并注册自定义身份验证中间件。因为我们的提供商是标准的OWIN coookie提供商,我认为我可以使用Katana的CookieAuthenticationMiddleware,但这似乎不起作用。
实现我想要的正确方法是什么(将我的cookie提供程序与identityserver3集成)???
答案 0 :(得分:0)
选项D:使用OWIN环境扩展方法告诉IdSvr您的用户是谁:https://identityserver.github.io/Documentation/docsv2/advanced/owin.html。但是,这仍然会让IdSvr发布自己的cookie。删除自己的cookie中间件可能是有意义的,让IdSvr管理cookie。