【发布时间】:2015-12-16 05:51:00
【问题描述】:
前提: 我有一个基础架构,我们有一个使用 Windows Identity Foundation 实现的自定义 RP-STS,为一些网站提供 SSO。此 STS 通过 WSFederation 与站点进行通信。此自定义 STS 即将被弃用,因为该组织正在将 Open ID Connect Idp 添加到基础架构中。
网站本身(Episerver)包含所有基于 STS 提供的声明的自定义授权逻辑,如果我们要简单地抛弃 STS,我们就必须替换所有这些逻辑。
问题: 将我们的 RP-STS 集成到 openId 连接提供程序的浏览器重定向流程是什么,以便最终用户浏览器同时获得我们的 RP STS 和 Open Id Connect IdP 的会话?
关于如何实现的个人想法(基于对 openid connect 如何工作的大量假设),如果您知道如何回答,请跳过此部分:
- 网站向 RP-STS 发送包含用户名/密码的 HTTP 帖子
- RP STS 响应浏览器重定向到 OpenId Connect Idp(重定向包含用户名/密码,并且回复地址设置为 RP STS)
- OpenId Connect Idp 创建本地会话 (???) 并通过重定向到 RP STS 进行响应,重定向包含 auth_token。 (我不确定进入 openid 连接登录流程的部分)
- RP STS 接收用户令牌并获取/询问用户数据、构建声明并构建本地会话
- RP STS 通过 WSFed 将 SAML 令牌中的声明发送到 RP 站点
我还接近吗?
进一步说明:
- 我不想移除现有的 STS,而是将其背后的新基础架构更改抽象化,以便从最终用户站点的角度来看,身份对象和授权逻辑将保持不变。
- 在查看 STS 和 Open ID Connect IDP 之间的登录/注销流程是否可行方面,我需要特别帮助
【问题讨论】:
标签: authentication wif claims-based-identity federated-identity openid-connect