SAML2.0入门指南

  • 时间:
  • 浏览:1
  • 来源:5分排列3_5分排列3官网

SAML并有无有三个 很错综复杂的协议,这里只选者最重要的部分为这人人讲解,更多细节请见官方文档,后续的文章也会进一步解析。

SAML协议的核心是: IDP和SP通过用户的浏览器的重定向访问来实现交换数据。

更多关于SAML协议的是实现的内容,请参见每每该人 编写的一系列教程文章来介绍咋样使用OpenSAML,欢迎阅读指正:

SAML,全称为Security Assertion Markup Language,是并有无用于安全性断言的标记预压,目前的最新版本是2.0。原文地址

本系列相关文章:

OAuth2.0 协议入门指南OpenID Connect 协议入门指南OpenSAML示例

为了便于解释,以上例子中的信息都保持了可读性,将会想要 去看看真实的SAML信息,建议推荐使用火狐浏览器的插件工具 SAML tracer。该插件将会在浏览器中加进有三个 窗口来显示SAML消息,以下是截图:

SAML在单点登录中大有用处:在SAML协议中,一旦用户身份被主网站(身份鉴别服务器,Identity Provider,IDP)认证并且,该用户再去访问这人在主站注册过的应用(服务提供者,Service Providers,SP)时,都还不能直接登录,而不让再输入身份和口令。

真是内容什么都,因此其主要表达的是:该消息来自idp.uni.nl,名为Alice用户的身份将会被我验证,该消息的有效期为2分钟。此外,重定向的URL中还不能有该消息的签名以保证其不备篡改,验证签名的公钥和算法,回会 IDP和SP提前协商好的。

SP向IDP发出SAML身份认证请求消息,来请求IDP鉴别用户身份;IDP向用户索要用户名和口令,并验证其有无正确,将会验证无误,则向SP返回SAML身份认证应答,表示该用户将会登录成功了,此外应答中里还包括这人额外的信息,来却确保应答被篡改和伪造。

里边的内容用最直白的法律措施解释出来就说 我:你这人来自Google的请求,请验证当前用户的身份,并将结果返回。

嵌入到HTTP请求中的SAMLRequest就说 我SAML认证请求消息。将会SAML是基于XML的(通常比较长),完整认证请求消息要经过压缩(为Url节省空间)和编码(处里特殊字符)不能传输。在压缩和编码并且,SAML消息有如下格式:

希望以上的内容能帮助你理解SAML协议。SAML协议的内容十分错综复杂,因此涉及到单点登录的内容回会 以上述内容为基础的。

现在Alice要通过浏览器查阅她的邮件,Alice一般会通过浏览器访问有三个 网页,比如https://mail.google.com/a/my-university.nl (step1)。将会这是个联合身份域,什么都Google不让向用户索要用户名和密码,就说 我将其从定向到IDP来认证其身份(step3)。用户被重定向的URL这人你这人:

当Google接受到SAML认证响应并且,会首先验证消息的签名有无正确(step7)以及有无因超时而失效。因此再从认证消息中提取出Google能识别用户身份(NameID,即Alice),将会以上的步骤回会 顺利的,用户将会成功登陆Google(Step8)。

当IDP收到消息并确认要接受认证请求并且,就会要求Alice输入用户名和口令来验证其身份(将会Alice将会登录过了,就会跳过该步骤);当验证通过并且,Alice的浏览器将会跳转回Google的特定页面(AssertionConsumerService,简称ACS,step6)。同样,SAML身份认证响应的内容也是在压缩并编码后以参数的形式传输。在压缩和编码并且,其社会形态类如下:

下面这人人以用户登录SP,SP向IDP发起请求来确认用户身份为例子,看看SAML的工作流程。比如SP是Google的Apps,IDP是一所大学的身份服务器,Alice是该大学的一名学生。