我们绝对需要 STS 来实现 SAML 吗?

2024-04-26

我第一次尝试实现支持 SAML 的 SOAP 服务,并且对 SAML 实现中安全令牌服务 (STS) 的作用有一些概念性问题。

用户 ---> Web 应用程序 ---SOAP/SAML --> 消息传递应用程序

基本上,该场景是用户使用其用户名和密码登录到 Web 应用程序,Web 应用程序依次使用外部服务对用户进行身份验证和授权,成功验证/授权后,Web 应用程序将创建一个 Sender Vouches SAML 断言,其中用户为主题,使用其私钥签署断言,使用 WS-S 将断言打包在 SOAP 信封中,并对消息传递应用程序进行 SOAP 调用。一旦消息传递应用程序收到请求,它就会使用 Web 应用程序的公钥验证签名,从 SAML 断言中提取身份验证和属性语句,并基于它们在端点上强制执行身份验证策略。

正如您在上面的场景中看到的,没有涉及外部 STS,但是我读过的有关 SAML 的大多数文献都表明 STS 是绝对需要的。我的问题是,我对上述情况是否做错了什么,因为我看不出有任何理由为什么我绝对需要 STS。当然,拥有 STS 会很好,但至少在我看来,没有它并不能阻止我为我的用例实现 SAML。


不,您不需要 Web 服务中的 SAML 令牌的 STS。 STS 将一个令牌(其中“令牌”包括用户名+密码之类的内容)交换为另一个令牌,因此它非常有用,因为您的 Web 服务使用者可以发送一些输入令牌(通常是用户名+密码或签名+X.509 证书)以方便使用例)到 STS 并返回 SAML 断言,一切准备就绪。

现在,如果您有能力创建您的 Web 服务提供商接受的 SAML 令牌,那就开始吧!不需要 STS - 无论 STS 是否参与其创建,传输中的实际 SOAP 消息都是相同的。

几年前,我写了几篇博客文章,详细介绍了其中的一些内容:

Java EE 工具/NetBeans 5.5 Enterprise Pack 中的 Access Manager 7.1 Beta http://blog.superpat.com/2006/05/23/access-manager-7-1-beta-in-java-ee-toolsnetbeans-5-5-enterprise-pack/

SAML 保护的 SOAP 消息剖析 http://blog.superpat.com/2006/05/24/anatomy-of-a-saml-secured-soap-message/

Sun Access Manager 7.1 已被取代OpenAM http://forgerock.com/products/open-identity-stack/openam/,但原则保持不变。特别是,第二条目独立于任何实际产品。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我们绝对需要 STS 来实现 SAML 吗? 的相关文章

随机推荐

  • 如何在 css 中对重新定位的 div 进行 z 索引

    Context 我正在尝试制作明显集中的菜单项 当鼠标悬停时改变颜色并扩大尺寸 虽然设置另一种颜色很容易 但尝试将其横向移动是一项比我想象的更复杂的任务 运动本身按其应有的方式工作 但项目的 z 索引变得混乱 Issue 背景颜色已按其应有
  • Cookie - 跨多个域设置

    我公司的设置如下 子域 1 域 1 子域名2 域名1 com 子域名3 域名1 com 子域名4 域名1 com 子域名5 域名1 com 子域名6 域名1 com 子域 1 域 2 子域 2 域 2 subdomain3 domain2
  • 是否可以为自定义组件(而不是 FormControl)创建一个验证器

    我正在尝试这样做 Directive selector myVal myCustomInputToComponent providers provide NG VALIDATORS useExisting forwardRef gt MyV
  • Windows 7 跳转列表(Windows 窗体、C#)

    有谁知道如何在 C 中自定义与我自己的应用程序相关的 Windows 跳转列表功能 我知道可以做到 但我在 MSDN 上找不到任何与 C Windows7 相关的内容 到目前为止 我能找到的与 W7 和 C 相关的唯一信息只是我已经阅读过的
  • 使用一个或多个标准 FIFO 队列实现延迟队列 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 延迟队列是一种队列 其中每条消息都有
  • 二维数组,在 C 中使用 calloc

    我正在尝试创建一个二维字符数组来存储字符行 例如 lines 0 Hello lines 1 Your Back lines 2 Bye 由于行必须是动态的 因为我一开始不知道需要多少行 这是我的代码 int i char lines ch
  • Android:多个活动和手动切换视图哪个更好?

    我已经开发了一些 Android 应用程序 但这个问题始终存在 我应该如何构建我的用户界面 我应该在活动之后启动活动并让手机按下 后退 按钮 还是应该选择更优化但实现起来更复杂的方式手动切换视图 然后手动执行 后退 按钮功能 您认为 或知道
  • 如何在几年前拟合的逻辑回归中使用 R 中的预测函数?

    我有一个问题正在尝试解决 但没有成功 寻找了两天多 却没有得到任何线索 很抱歉 如果答案就在那里 但我没有找到 假设您有一个来自几年前估计的旧模型的逻辑方程回归 二元模型 因此 您知道参数 k k 1 2 p 因为它们是过去估计的 但您没有
  • MySQL 错误:#1142 - SELECT 命令被拒绝给用户

    我在一台服务器上的某个查询时遇到问题 在我测试过的所有其他地方 它工作得很好 但在我想使用它的服务器上 它不起作用 这是关于以下 SQL SELECT facturen id AS fid projecten id AS pid titel
  • 跨命名空间共享秘密

    有没有办法在 Kubernetes 中跨命名空间共享秘密 我的用例是 我的所有命名空间都有相同的私有注册表 并且我想避免为每个命名空间创建相同的秘密 秘密 API 对象驻留在命名空间中 它们只能由同一命名空间中的 pod 引用 基本上 您必
  • 限制在指定时间访问互联网

    我正在尝试做一个家长控制软件项目 我阻止了特定网站并使用主机文件取消阻止它们 后来 我尝试通过以编程方式禁用和启用 LAN 连接来禁用 启用互联网访问 C 有没有办法在特定时间阻止互联网访问 例如8 January 2013之间20 00
  • USB 端口速度 Linux [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何以编程方式确定运行 Linux 内核的嵌入式设备中的 USB 端口速度 你可以阅读 sys bus usb devices usb s
  • Trait 方法可以实现返回引用或拥有的值

    我正在尝试使用可以实现返回引用或拥有值的方法来定义特征 就像是 struct Type trait Trait type Value fn f self gt Self Value impl Trait for type Value Typ
  • 有没有办法让 webkit 的 javascript 正确处理空格?

    事实证明 在处理 XSLT 时 webkit 对于空格的处理似乎并不是特别好 它似乎对换行符 回车符 制表符和空格一视同仁 甚至到了这样的地步 substring after test string 10 将返回string 有什么方法可以
  • 如何获取源(kendo ui 小部件的发送者元素

    如何获取 kendoui datepicker 小部件的调用者 发送者 或者任何与此相关的小部件
  • SQLAlchemy Join 从多个表中检索数据

    我正在尝试从多个表中检索数据SQL炼金术使用 join 方法 当我运行查询时 我希望得到一个对象 该对象包含来自不同表的所有数据 以便我可以使用a 区域名称等等在哪里区域名称位于其中一张连接的表上 下面是我正在运行的查询和表布局 如果有人能
  • 使用反射实例化泛型类[重复]

    这个问题在这里已经有答案了 NOTE I don t believe this question is a duplicate of the one linked above as I explain in the UPDATE below
  • Mono WebClient 编码问题

    我正在尝试移植 NET应用程序从 Windows 到 Mono 但某些在 Windows 上运行的代码不再运行 正如预期的那样 on mono WebClient client new WebClient Console WriteLine
  • 用于网站的 Git / 接收后 / 测试站点和生产站点的分离

    我使用 Git 来管理网站的源代码和部署 目前测试站点和实时站点在同一个机器上运行 关注此资源http toroid org ams git website howto http toroid org ams git website how
  • 我们绝对需要 STS 来实现 SAML 吗?

    我第一次尝试实现支持 SAML 的 SOAP 服务 并且对 SAML 实现中安全令牌服务 STS 的作用有一些概念性问题 用户 gt Web 应用程序 SOAP SAML gt 消息传递应用程序 基本上 该场景是用户使用其用户名和密码登录到