我很难理解SSO。在我阅读的任何地方,都有一些高级解释,说明验证用户的站点如何将令牌“传递”到最初访问的站点,或者如果您稍后访问该站点,它知道该用户已经通过了验证。但我仍然对这些事情是如何完成的细节感兴趣。
假设有两个站点,A和B,以及一个站点X,负责A和B使用的身份验证。
以下是一些我找不到答案的问题:
它令人困惑的原因与术语“SSO”的模糊性有关。您的问题很好,但答案取决于SSO的实现方式,没有一个一刀切的解决方案。我们将使用SAML作为协议回答您的问题,它通常用于在web应用程序之间实现SSO:
>
A=服务提供者,X=标识提供者。这些是服务(或应用程序)可能在SAML中扮演的角色。在标识提供者对用户进行身份验证后,标识提供者向服务提供者发送SAML响应。所谓的绑定是SAML规范中的一组规则,用于确定响应的格式以及如何从标识提供者传输到服务提供者。在SAML的Web浏览器SSO配置文件中,HTTP-POST绑定要求通过HTTPS上的POST发送响应。响应包含一个断言,有时称为SAML“令牌”。断言是SAML权威机构(您的X)针对认证实体所做声明(又称声明)的容器。例如,如果身份提供者认证用户"bee",则发送给服务提供者的断言可能包含bee的名字、姓氏、用户id等等。
通常你会得到一块饼干。服务提供者A将创建一个本地(到A)会话,并删除一个带有会话ID(或任何会话指针)的cookie,以将用户代理与会话关联起来。在随后对A的请求中,A根据映射到A中会话的cookie知道您。会话保存已建立的认证上下文,例如,来自步骤1中SAML响应的用户“bee”的用户标识。
也可以通过cookies(通常)。当您通过身份提供程序X进行身份验证时,它会发出自己的cookie。你有一块饼干给X,一块给A,一块给B。。。
我们说“通常”是因为状态管理(A或X如何知道是你)不是SAML规范的一部分。如果一个身份提供商想出了一个奇特的状态管理方案,比如说,对你的浏览器进行指纹识别,并依赖该指纹作为你经过身份验证的上下文/会话标识,从协议的角度来看,SAML仍然可以。只有步骤1在协议中被正式描述,步骤2和3由实现决定。在实践中,cookie有一个非常短的替代列表,大多数应用程序使用cookie。
看看SAML技术概述,它很好地解决了这个问题的本质
问题内容: 简短的问题: 我在.NET中有一个Web API服务,而一个站点仅由HTML和AngularJS组成。 如何仅对我的网站授权给我的服务? 我正在寻找一个似乎很常见但不是常见问题的安全答案。在最近的日子里,我读了很多答案,想法和各种各样的东西,但是找不到解决方案。 假设我有一个来自MS的Web Api服务(最新的)。所以我必须要消耗它的应用程序。让我们定义两个方案。 方案1: 在同一个I
我的问题是,我们有一组运行SiteMinder但非常糟糕的遗留代码。它允许IIS匿名并避免使用Active Directory。 我们正在重建此应用程序,并希望将SiteMinder与IIS和集成。净额4.0。我知道我可以构建自己的安全框架,无需用户名和密码即可完成所有工作(因为我们不希望SiteMinder提供),但我想知道是否有办法使用内置的Windows身份验证(窗体或Windows)与Si
我试图将spring oauth2(基于java的配置而不是引导)与angular 6集成, 我的WebSecurityConfigurerAdapter.java文件是: 我的身份验证提供程序是: 后端出现错误:
我想检查https站点是否正在启动。我如何使用Perl LWP模块找到这个https站点的内容。我尝试了LWP::UserAgent模块,以获得重定向的URL 500 SSL协商失败。 注意:有重定向在此…其中最终的url是https而不是HTTP。
如何在iOS8中使用CloudKit实现Sign sign-on? 我知道你可以得到一个代表你的登录用户的字符串,这是你的应用程序唯一的,但是我如何在我的后端验证那个字符串呢? 我明白Apple ID/iCloud电子邮件地址是出于隐私原因而隐藏的。 我的后端是Azure中的ASP.NET Web API2,但如果更简单的话,我可以用另一种技术实现它。 我正在寻找相当于谷歌在Android上的单点
问题内容: 我遇到过许多教程,它们解释了如何使用node.js刮取不需要身份验证/登录的公共网站。 有人可以解释如何抓取需要使用node.js登录的网站吗? 问题答案: 使用Mikeal的请求库,您需要启用cookie支持,如下所示: 因此,您首先应该在该站点上(手动)创建一个用户名,并在向该站点发出POST请求时将用户名和密码作为参数传递。之后,服务器将使用Cookie进行响应,该请求将记住该C
CheckList 对于 PWA 站点是否完善,Google 通过 PWA 所需要具备的一些特性和最佳实践给出了一个 Checklist, 该 Checklist 从多个方面来提供 PWA 站点检测的标准。如果我们对 PWA 工程的检测要求集成到持续集成系统的话(类似后面所提到的 Lighthouse),我们可以参照 Checklist 进行一系列的检测。 Checklist: https://d