OpenID Connect 联合身份验证¶
从 Icehouse 版本开始,唯一支持的联合身份验证协议是 SAML。本规范的目的是启用对 OpenID Connect 作为联合身份验证协议的支持。
问题描述¶
发布和处理 OpenID Connect 请求的身份提供者 (IdP) 希望允许其用户访问 OpenStack 云。目前这不可行,因为唯一支持的联合身份验证协议是 SAML。
提议的变更¶
为 OpenID Connect 请求创建一个新的认证插件或模块。
重用映射引擎,将呈现给 Keystone 的任何 OpenID Connect 属性映射到 Keystone 属性。
利用 Apache 插件
mod_auth_openidc来处理请求。
注意:应在重新设计现有的联合身份验证代码之后编写此功能,以避免不必要的代码重复。
备选方案¶
添加一个认证插件,该插件将某些 OpenID Connect 参数作为参数,并从该插件我们可以向 IdP 发送请求,并在插件内处理响应。
此替代方案的主要问题是用户将她的凭据发送给服务提供者,而不是身份提供者。
安全影响¶
确保我们遵循 OpenID Connect 规范。
通知影响¶
无
其他最终用户影响¶
python-keystoneclient 需要增强以处理 OpenID Connect 请求。
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
主要负责人
stevemar (Steve Martinelli <stevemar@ca.ibm.com>)
henrynash (Henry Nash <henryn@linux.vnet.ibm.com>)
工作项¶
添加一个 OpenID Connect 认证插件来处理任何必要的 OpenID Connect 特定数据处理。
依赖项¶
依赖于重新设计联合身份验证以实现高效的实施。请参阅:https://review.openstack.org/#/c/104301/
文档影响¶
必须提供详细的文档来描述任何新的必要配置。