gitlab

Gitlab使用omniauth自定义第三方登录方式

公司原本使用gitolite搭建的git仓库,gitolite本身的配置、员工的公钥都是通过一个git仓库来管理的。但随着公司发展,经常有人需要修改公钥,经常有一些小项目需要单独开一个仓库,每次都需要通过我这边操作配置,比较麻烦,因此我决定改用gitlab作为git仓库服务端。gitlab允许成员自己添加公钥,创建自己的项目,可以较好的满足目前的需求。 =以上是废话== 公司内部有一个单点登录系统(SSO),我希望gitlab也能集成这个SSO系统的登录,这样新入职的员工就不需要管理员手动添加帐号。 通过查阅gitlab的文档,发现gitlab本身集成了omniauth,这是一套集成第三方登录的通用框架,只要编写简单的代码就能集成一个第三方登录。 gitlab的web端是基于rails开发的,对于ruby和rails我都不是很熟悉,只能一点点尝试。 首先找到omniauth的开发文档,在文档的末尾提到一个项目可以用来比较方便的调试omniauth的strategy。 但这个项目的readme里只说了如何调试一个已经发布的gem,并没有说开发中的应该如何操作。(我TM都开发并发布好了还需要你这个项目干啥??) 另外就是clone好这个项目后,需要先在根目录创建一个db目录,不然会报错。 搜索了一下,

  • Leo Chen
    Leo Chen
4 min read