在Windows Identity Foundation STS后面摘录OpenID Connect Idp

前提:我有一个基础架构,我们在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连接工作方式的大量假设),如果你知道如何回答,请跳过这一点:

  • 网站发送HTTP邮件到包含用户名/密码的RP-STS
  • RP STS响应浏览器并重定向到OpenId Connect Idp(重定向包含用户名/密码,并将回复地址设置为RP STS)
  • OpenId Connect Idp创建一个本地会话(???),并响应重定向到RP STS,重定向包含auth_token。 (我不确定进入openid连接登录流程的部分)
  • RP STS接收用户令牌并获取/询问用户数据,构建声明并构建本地会话
  • RP STS通过WSFed向RP站点发送SAML令牌中的声明
  • 我甚至关闭?

    进一步澄清:

  • 我不想删除现有的STS,而是抽象出它背后的新基础架构变更,以便从最终用户网站的角度来看,身份对象和授权逻辑将保持不变。
  • 我需要特别的帮助,看看STS和Open ID Connect IDP之间的登录/注销流程是否可行

  • WIF和OpenID Connect是完全不同的协议,例如WIF主要是基于被动配置文件的浏览器。 令牌类型不同 - SAML和JWT等。

    要做到这一点的方法是通过OWIN(Katana是微软的实施)。 有WS-Fed和OpenID Connect的NuGet包。

    有可用于Azure AD的示例 - 请参阅您可以用作指南的Microsoft Azure Active Directory示例和文档。

    OWIN将允许您使用这两种协议。

    事实上,看看IdentityServer3。

    这是两者的开源STS实现。

    链接地址: http://www.djcxy.com/p/71785.html

    上一篇: Abstracting OpenID Connect Idp behind a Windows Identity Foundation STS

    下一篇: Authenticate a SAML2 (P?) token in body in asp.net mvc