GitLab作为OpenID Connect身份提供者
本文档是关于使用GitLab作为OpenID Connect身份提供者登录到其他服务。
OpenID Connect简介
OpenID连接OIC是OAuth 2.0协议之上的一个简单的身份层。它允许客户端基于GitLab执行的身份验证来验证最终用户的身份,并以可互操作和类似rest的方式获取有关最终用户的基本配置文件信息。OIC执行许多与OpenID 2.0相同的任务,但它是以一种api友好的方式完成的,并且本机和移动应用程序都可以使用。
在客户端,您可以使用omniauth-openid-connect用于Rails应用程序,或任何其他可用的客户端实现.
GitLab的实现使用doorkeeper-openid_connectgem,请参阅其README以了解有关支持规范的哪些部分的更多详细信息。
为OAuth应用程序启用OpenID连接
参考OAuth指南有关如何在GitLab中设置OAuth应用程序的基本信息。要为应用程序启用OIC,所要做的就是选择openid
作用域在应用程序设置中。
目前与客户端共享的用户信息如下:
索赔 | 类型 | 描述 |
---|---|---|
子 |
字符串 |
唯一标识用户的不透明令牌 |
auth_time |
整数 |
用户上次身份验证的时间戳 |
名字 |
字符串 |
用户的全名 |
昵称 |
字符串 |
用户的GitLab用户名 |
电子邮件 |
字符串 |
用户的公共电子邮件地址 |
email_verified |
布尔 |
是否验证用户的公共电子邮件地址 |
网站 |
字符串 |
用户网站的URL |
配置文件 |
字符串 |
用户的GitLab配置文件的URL |
图片 |
字符串 |
用户的GitLab头像的URL |
组 |
数组 |
用户所属的组名 |