【发布时间】:2015-05-08 08:46:27
【问题描述】:
我设置了 Thinktecture IdentityServer,我有两个受信任的客户端应用程序,一个 WinForms 应用程序和一个 Web 应用程序,我想在它们之间实现 SSO。
用户将首先打开桌面应用程序,该应用程序具有一个通过身份服务器进行身份验证的登录页面。
桌面应用程序将包含一些生成的 Web 链接,单击这些链接会打开一个新的浏览器窗口,指向需要身份验证的 Web 应用程序的安全区域,但是,单击这些链接后,我不希望用户必须再次登录因为他们已经通过桌面应用程序进行了一次身份验证。
我正在努力看看哪些流程可以实现这一点。
OpenID connect 或 Thinktecture IdentityServer 提供了哪些机制(如果有)可以促进这一过程?
【问题讨论】:
-
您找到解决方案了吗?
-
不是我们完全满意的。 OAuth 流程均未涵盖此场景,因此最终我们创建了一个自定义解决方案,其中 Windows 应用程序请求一个 TTL 为 10 秒的一次性 GUID 令牌。然后可以将该令牌在查询字符串中传递给浏览器应用程序,并在验证令牌后对用户进行身份验证。由于我们的软件只安装在内部封闭网络上,我们认为这是一个可以接受的解决方案。
标签: c# oauth-2.0 openid thinktecture-ident-server openid-connect