如何在 SAML 2.0 Web 浏览器 SSO 的 AuthnRequest 中识别主体

2023-12-26

我是 SAML 新手,在完全理解完整的 SAML2 SSO 流程方面遇到了一些困难。

具体来说,当服务提供商使用元素响应资源请求时,元素中的哪一部分数据标识要由身份提供商验证的主体(即用户)?

例如,在以下 AuthnRequest 中似乎没有任何内容可以识别主体:

<samlp:AuthnRequest
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="identifier_1"
Version="2.0"
IssueInstant="2004-12-05T09:21:59"
AssertionConsumerServiceIndex="0">
<saml:Issuer>https://sp.example.com/SAML2</saml:Issuer>
<samlp:NameIDPolicy
  AllowCreate="true"
  Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/></samlp:AuthnRequest>

在 AuthnRequest 到达浏览器后,是否会添加标识主体的信息(可能来自 cookie?),或者标识特定用户的信息根本不会发送到身份提供商?


该规范对身份验证请求(SAML 配置文件、http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf,第 4.1.4.1 节):

请注意,服务提供商可能包括<Subject>中的元素 请求指定其希望的实际身份 收到断言。

然而,这种方法很少使用,也没有在不同的提供商/堆栈中广泛实施,因此您的情况可能会有所不同。事实上,有一些部署配置文件明确禁止使用<Subject>, e.g. http://saml2int.org/profile/current/ http://saml2int.org/profile/current/第 8.2 节说:

The <saml2p:AuthnRequest>消息不得包含<saml2:Subject>元素。

通常的交互是服务提供商确定身份提供商而不是用户。后者留给身份提供者,包括识别和认证。这是一个更干净的界面,可以避免两者之间关于标识符和帐户的潜在冲突。

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

如何在 SAML 2.0 Web 浏览器 SSO 的 AuthnRequest 中识别主体 的相关文章

随机推荐

  • 因为函数在类中是纯虚函数而出错?

    复制代码后类作为函数 C 的参数 https stackoverflow com questions 6240944 classes as parameter of function c进入我的代码 我收到错误 note because t
  • 如何在 Google Developers Console 中设置费用限制

    Google 开发者控制台中的某些功能 例如 Analytics API 在您达到配额之前是免费的 其他功能 如谷歌云存储 从第一次点击时就会产生成本 当我在下面上传文件时https console developers google co
  • Swift 中的数学(希腊语)符号 bug?

    今天 我在 swift 3 中发现我的应用程序存在一个大问题 所有希腊字母 如图所示 都没有出现在应用程序情节提要和布局中 所有其他表情符号和特殊字符均有效 这是一个 Swift 错误吗 我的数学应用程序需要这个字符 我已经检查了您评论中的
  • C++设计模式:多种方式加载文件

    摘要 寻找通过构造函数加载不同文件的标准C 设计模式 我有一个Base具有某些功能的类将被所有派生类使用 例如Derived A Derived B 主要区别在于Derived A and Derived B覆盖load函数 构造函数使用它
  • Spring 错误 - java.lang.NoSuchMethodError: > org.springframework.beans.factory.annotation.InjectionMetadata.

    Folks 我正在尝试运行一个简单的 spring 使用示例 Required 但是 当我运行主方法类时 我得到以下异常跟踪 线程 main 中的异常java lang NoSuchMethodError org springframewo
  • Mysql - 帮助我更改此查询以在搜索中应用 AND 逻辑而不是 OR ?

    首先执行这些表和数据转储 CREATE TABLE IF NOT EXISTS Tags id tag int 10 unsigned NOT NULL auto increment tag varchar 255 default NULL
  • 将自引用传递给包含对象的函数

    我正在尝试理解 Rust 的所有权模型 我试图在结构体上调用函数时传递对包含对象的引用 这是我的结构 pub struct Player impl Player pub fn receive self app App 如你看到的 recei
  • 如何在 PHP 中正确对字符串进行 URL 编码?

    我正在创建一个搜索页面 您可以在其中输入搜索查询并将表单提交到search php query your query 哪个 PHP 函数是最好的 我应该使用它来编码 解码搜索查询 对于 URI 查询值使用urlencode http php
  • 在 pyparsing 中引发自定义异常

    我已将这些定义为 pyparsing 语法的一部分 argument oneOf valid arguments function name oneOf valid functions function call Group functio
  • GWT JSNI 支持回调吗?

    我正在构建一个使用 Web SQL 本地存储的 GWT 应用程序 http dev w3 org html5 webdatabase http dev w3 org html5 webdatabase 问题是 Web SQL API 使用回
  • Azure CosmosDb:排序项需要范围索引

    我正在通过 Azure 门户 查询资源管理器 执行简单的查询 这是我的查询 SELECT FROM c WHERE c DataType Fruit AND c ExperimentIdentifier prod AND c Param b
  • 由于 Eclipse 中的 Java 堆空间和一个小型 Android 应用程序,无法执行 dex

    我有一个 Android 应用程序 只有一个 jar 导入 大小为 4 mb Symjahttps code google com p symja https code google com p symja 实际上 项目中的唯一代码是创建一
  • Python GTK +3:通过单击列对树视图进行排序

    我希望能够通过单击列来按列对树视图进行排序 我只是使用从文档中获取的流行示例作为参考 https python gtk 3 tutorial readthedocs io en latest treeview html https pyth
  • 从 JSON 生成 Java 类?

    在Java Maven项目中 如何从JSON生成java源文件 例如我们有 firstName John lastName Smith address streetAddress 21 2nd Street city New York 当我
  • MySQL 和 Python Select 语句问题

    感谢您抽时间阅读 这将是一个很长的帖子来解释这个问题 我无法在所有常用来源中找到答案 问题 我在使用 python 的 select 语句从 mysql 数据库中的表中调用数据时遇到问题 系统及版本 Linux ubuntu 2 6 38
  • 背包问题(经典)

    所以我必须在课堂上解决背包问题 到目前为止 我已经提出了以下建议 我的比较器是确定两个主题中哪一个是更好的选择的函数 通过查看相应的 值 工作 元组 我决定迭代工作量小于 maxWork 的可能科目 为了找到在任何给定回合中哪个科目是最佳选
  • raw_input() 在输入后才会显示提示

    它实际上比标题暗示的更进一步 如果我在 main 中的任何地方有 raw input 那么在用户输入输入之前不会发生任何事情 包括在调用 raw input 之前应该发生的任何函数调用或输出 这是我的代码的一个非常简单的示例以及它运行时发生
  • Highcharts:每个系列是否可以有单独的绘图选项?

    我想在图表上有两个散点系列 一个线宽为 1 另一个没有线宽 据我了解 plotOptions适用于指定类型的所有图表 因此所有散点图要么有线宽 要么没有 是否可以将plotOptions应用于特定系列 除了下面列出的成员之外 该特定类型图的
  • 如何在 vue.js webpack 项目上正确设置 favicon.ico?

    我创建了一个vue webpack项目使用vue cli vue init webpack myproject 然后在下面运行该项目dev mode npm run dev 我收到这个错误 无法加载资源 服务器响应状态为 404 未找到 h
  • 如何在 SAML 2.0 Web 浏览器 SSO 的 AuthnRequest 中识别主体

    我是 SAML 新手 在完全理解完整的 SAML2 SSO 流程方面遇到了一些困难 具体来说 当服务提供商使用元素响应资源请求时 元素中的哪一部分数据标识要由身份提供商验证的主体 即用户 例如 在以下 AuthnRequest 中似乎没有任