【发布时间】:2018-10-16 23:40:44
【问题描述】:
我已经阅读了很多关于此的内容,以便为客户实施此功能。我 100% 确定我误解了某些东西,因为现在我的脑海里没有任何意义。
我们的客户希望在我们正在制作的应用程序中添加 SSO 功能。这个想法是,在启动时,当程序安装在他们的一位客户上时,应用程序将使用 SSO 验证用户的身份,以确定他们是否被允许运行它。
客户在 Intranet 上有一个端点,该端点应该使用用户拥有的角色列表来响应我们的 SAML 请求,我们会对照授权角色的静态列表来检查此人是否拥有正确的角色权限。
我们应该使用 Kerberos 令牌。现在,我在网上查看的每一页似乎都对那部分有不同的看法。起初,我认为我必须以某种方式 obtain 那个 Token 并将其添加到 SAML POST 请求中的某处。
然后,在谷歌搜索如何获取令牌时,我得到 more 和 more 结果说我不必这样做,它是自动完成的,并且端点知道“谁”在调用。
此外,most websites 是 assuming 调用者(我的应用程序)是一个 Web 应用程序,并且本教程的许多步骤都在使用 Web.Config 和服务器,这两个我都没有没有。
由于我尝试的一切似乎都失败了,而且由于我无法控制端点来检查它是如何工作的或出了什么问题(我只得到错误代码),我完全迷失了。
所以这个问题是关于直截了当的。
我的应用程序不是基于网络的,我确实不制作或查看响应我的请求的端点。
应用程序在 Citrix 环境中运行,并且必须与 Intranet 上的端点通信。我自己不在这个 Intranet 上,我们从远程位置登录到 Citrix 以进行测试。
我是否必须在我的代码中明确获取 Kerberos 令牌,如果需要,如何获取(我见过的每种方法都不适用于我)。
我是否必须在 SAML 2.0 POST 请求中发送令牌,如果需要,它在 SAML 结构中的什么位置?
【问题讨论】:
-
SAML 是基于浏览器的 SSO,但对于非基于浏览器的客户端,有 ECP 配置文件。尽管没有说明如何将它与 kerberos 集成,但可能会为您指明正确的方向 wiki.shibboleth.net/confluence/display/CONCEPT/ECP
标签: c# single-sign-on kerberos saml-2.0 citrix