当前位置: 首页 > 知识库问答 >
问题:

SAML令牌是否缓存/存储在浏览器上的任何位置?

钱选
2023-03-14

情景:

  1. 浏览器(用户)向服务提供商(SP)请求资源
  2. SP(使用SAML请求)重定向到身份提供程序(IdP)
  3. 由于是第一次登录,用户将向(IdP)提供其有效凭据
  4. 然后,IdP将浏览器(带有包含SAML令牌的SAML响应)重定向到SP页面

我有两个问题:

A、 在步骤4中,浏览器是否存储或缓存SAML响应和/或SAML令牌?

B.如果是,什么样的事情(属性?超时?协议?)阻止我获取存储的SAML令牌。然后将其转移到另一台计算机(使用新会话)并使用该令牌登录到同一SP?

共有3个答案

林鹏鹍
2023-03-14

对于问题A,这可能取决于您使用的浏览器。

对于问题B,有几种机制可以防止SAML响应被重用:

  1. SubjectConfirmationData具有指定SAML断言有效的时间范围的属性NotFront和NotOnOrAfter。因此,SAML断言不能在此时间范围之外使用。
  2. SubjectConfirmationData具有属性InACK seTo,指定发出SAML断言的SAML请求。因此,SAML断言不能用于其他SAML请求。
  3. SP必须通过维护一组已使用的SAML断言来确保不会重播SAML断言。

您可以阅读SAML配置文件规范的第4.1.4.3节和第4.1.4.5节。

滕弘新
2023-03-14

IDP通常在识别SAML会话的客户端浏览器上存储一个会话cookie。此会话cookie的盗窃可能不会比任何其他会话cookie受到更多保护。

在SP和IDP之间的通信中使用HTTPS将为会话劫持提供大量保护。

姬康平
2023-03-14

答案是“某种程度上”重新缓存。在您的场景中,响应将通过POST从浏览器发送给服务提供商。因此浏览器可以“缓存”包含SAML响应的POST数据。因此,就像浏览器中的任何其他POST事件一样,如果用户在登录SP后使用“后退”按钮足够多次以返回POST事件,则POST数据可以重新发送给SP。

有一些东西可以帮助反应不被劫持-

  1. 各方之间使用HTTPS
  2. SP的执行
 类似资料:
  • 我们希望创建一个文档管理区域,在MVC3应用程序中使用Azure blob存储为标准文件夹结构建模。 例如。 用户可以创建文件夹 用户可以将文档上传到文件夹 用户可以列出目录内容等 用户可以删除文档 用户可以下载文档 现在我很欣赏Azure Blob存储只有容器,其余的是通过创建路径的斜杠伪造的。然而,这种功能似乎是其他人必须创建的? 我做了一些搜索,但什么也没找到。基本上是像云Xplorer或A

  • 推荐: http://www.cnblogs.com/skynet/archive/2012/11/28/2792503.html 304 Not Modified

  • 日期:1998年10月30日星期五格林尼治时间13:19:41 服务器:Apache/1.3.3(Unix) 缓存控制:max-age=3600,必须重新验证 有效期:1998年10月30日星期五格林尼治时间14:19:41 最后修改:1998年6月29日星期一02:28:12格林尼治时间 ETAG:“3E86-410-3596FBBC”

  • 我有一个使用assetic的Symfony2应用程序。一切都很好,只是在localhost中,浏览器不会缓存我的资产。 任何想法,为什么以下资产没有得到缓存响应304和毫秒,而是与200响应,需要大约15秒... 响应头 Accep-Ranges bytes Cache-Control max-age=604800 Connection Keve-Alive Content-Encode gzip

  • 我知道基于cookie的身份验证。可以应用SSL和HttpOnly标志来保护基于Cookie的身份验证免受MITM和XSS的攻击。然而,需要采取更多的特别措施,以保护它免受CSRF的影响。他们只是有点复杂。(参考) 最近,我发现JSON Web令牌(JWT)作为一种身份验证解决方案非常热门。我知道JWT的编码、解码和验证。但是,我不明白为什么有些网站/教程告诉如果使用JWT就不需要CSRF保护。我

  • 我第一次使用JSON Web令牌(JWT)。我正在制作一个节点。js应用程序。我想使用JWT进行身份验证。根据文档,我将JSON令牌返回到前端。 但是我不知道如何将这个JSON令牌保存到我的浏览器头中,这样它就不会丢失,并随头一起再次发送到后端。如何将它保存在我的浏览器存储中,并在每次向后端发送请求时将其添加到请求头中?