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