Shibboleth简介03——Shibboleth是怎样工作的?(二)
2016-09-29 15:13
531 查看
Shibboleth简介——Shibboleth是怎样工作的(二)?
参考自官方文档:https://shibboleth.net/about/intermediate.htmlhttps://shibboleth.net/about/advanced.html
Identity Provider Discovery (IdP发现)
一个服务提供者(SP)是怎么决定发送认证请求给与之工作的多个IdP中的哪一个呢?用Identity Provider Discovery可以实现Shibboleth提供两个产品来执行Identity Provider Discovery。(Embedded Discovery Service和Centralized Discovery Service)
Embedded Discovery Service:同Shibboleth服务提供者(SP)工作为了展示和你的站点结合的IdP选择器用户界面
Centralized Discovery Service:是一个脱机应用,它能被集中布署到代表面向选择器用户界面的工作的SP
鼓励SP使用Embedded Discovery Service,因为它能提供更好的用户体验。
User Attributes (用户属性)
当使用Shibboleth时,另一个大多数服务充分利用的特征是,从IdP接收的关于用户的数据的能力。这个数据叫做用户属性(user attributes),用户属性可以是IdP知道的关于用户和可能对SP有帮助的任何数据。下面是这些数据的一些例子:1. 用户的email地址或者电话号码;
2. 用户所属的组;
3. 用户在组织中的角色信息;
4. 用户被授于的具体的特权
保护用户隐私的能力是所有的Shibboleth产品的主要关注点。IdP和SP允许部署者设置属性过滤策略来解决这些关注的内容。在IdP中,这个策略控制哪些属性将被释放给哪些SP,而在SP中,这个策略控制什么信息将被从哪些IdP接收。
Metadata (元数据)
如果单点登录过程通过HTTP执行,当IdP和SP相互通信的时候,它们如何知道要使用哪些URL?这个功能通过元数据(metadata)文件实现,元数据文件描述IdP或SP的各种不同的技术方面。IdP或SP的元数据通常包含下面的信息:
1. 一个唯一的标识符,叫做实体id (entity id);
2. 一个人类可读的名字和描述;
3. 一个URL列表,哪些消息应该被传送和一些关于什么时候使用该URL的信息;
4. 当创建和验证消息时使用的加密信息
一个联盟通常的功能是公开一个包含给己经同意一起工作的IdP和SP的所有元数据的文件,然后使所有的参与者可用。这样,当SP改变元数据的时候,SP不需要联系每一个IdP,只需要简单的把元数据提供给联盟即可。
Profiles (配置文件)
SAML说明书由几个文档组成:核心文档(Core document):定义了各种各样的XML元素和属性并且规定了一些关于他们内容的基本的规则(例如:属性X必须是一个正数)。核心文档和只定义单词但是不具体把单词组合到一起创造出有意义的东西的字典类似。
配置文件(Profiles document):描述了如何利用核心文档中定义的元素来实现一个具体的功能(例如:实现一个单点登录请求)。它主要是提供语法规则的。
配置文件是SAML中互用性的单元,这意味着产品应该交互操作,如果它们支持一个给定的配置文件。Shibboleth支持的配置文件的列表见这里
Bindings(绑定)
绑定在与元数据的连接和特点的配置文件中被提到,并被SAML协议使用来定义各种各样的软件组件如何传输消息给接收者。包括POST绑定,定义如何使用HTTP POST请求来发送消息,如何格式化消息和包含消息的POST参数的名称。重定向绑定,定义如何通过把消息放在HTTP重定向请求的URL中传送一个消息。相关文章推荐
- Shibboleth简介02——shibboleth是怎样工作的?(一)
- 怎样学习4.0?(工作后学习中的学习感悟)
- 数据库索引到底是什么,是怎样工作的?
- 怎样才有充沛的精力投入工作
- JPA之JPA简介及开发准备工作
- 薪水?发展?究竟怎样的工作才算是好工作?
- 网站策划人员怎样开展工作
- 20135239益西拉姆 Linux内核分析 操作系统是怎样工作的?
- html5学习笔记---03. Canvas简介,Canvas的使用方法
- HTML5 中工作线程(Web Worker)简介
- Milogs客户销售工作日志软件系统简介
- JVM工作原理简介与性能调优
- 嵌入式工程师开发工作主要做些什么,以后收入怎样
- 计算机专业软件开发方向毕业后怎样面对工作
- 在小米工作是怎样一番体验?
- 浏览器是怎样工作的:渲染引擎,HTML解析(连载二)
- ActiveReports工作总结1——AR简介
- 浏览器是怎样工作的:渲染引擎,HTML解析
- hadoop-mapReduce工作流程和组件简介
- 第二冲刺阶段——个人工作总结03