Gitlab 内置了一些第三方接入的OAuth Provider,可以便捷的接入像Google、Github、Facebook等第三方登录。而在公司内部,尤其是中国的公司内部,使用这些登录几乎是扯淡。LDAP是个很好的选择方案,但这里要说的不是LDAP,而是OAuth。为什么呢,因为目前Oauth认证已经非常普遍,网上的Spring boot oauth三分钟搭建更是数不胜数,我们可以利用 Gitlab 中 OAuth2Generic 来对接自己的 OAuth Server。

配置开始

我们要修改的配置文件为gitlab.rb,对于发布版或docker镜像的Gitlab ,该配置文件位于 /etc/gitlab/gitlab.rb。

### OmniAuth Settings

###! Docs: https://docs.gitlab.com/ce/integration/omniauth.html

gitlab_rails['omniauth_enabled'] = true

gitlab_rails['omniauth_allow_single_sign_on'] = ['oauth2_generic']

gitlab_rails['omniauth_block_auto_created_users'] = false

首先需要将 omniauth_enabled 设置为启用。如果开启allow_single_sign_on,对于没有注册账户的用户将会在gitlab中自动创建账户。如果开启block_auto_created_users,则自动注册的账户是被锁定的,需要管理员账户手动的为这些账户解锁,因此此处将其设置为false。

接下来需要配置具体的oauth认证断点以及信息,结构可以在omniauth-oauth2-generic README中找到,但配置过程会比较痛苦,先来看看配置好是什么样子。

效果

打开Gitlab登录页,可以在登录下方看到 Sign in with xxx。

点击后,浏览器跳转到oauth server。进行用户身份认证。

认证成功后,浏览器回跳到Gitlab并自动登录

第3步可能会提示The change you requested was rejected (422),此时地址栏的URL中会提示具体的信息,如mniauth_error?error=Email+has+already+been+taken。这种情况是邮件地址已经在gitlab注册了,这时的正确姿势应该是,用原来的方式登录,然后进入Profile-Account,找到三方登录手动进行关联。

gitleb 登陆方式_gitlab 之第三方OAuth登录接入(一)相关推荐

  1. gitleb 登陆方式_gitlab连接方式

    1.MAC 连接git 1.下载软件 2.在服务器上生成key 打开终端 ssh-keygen less /root/.ssh/id_rsa.pub 将这个文件的内容复制添加到 git网页的key里面 ...

  2. React管理系统集成OKTA OIDC 方式,实现第三方托管登录

    React管理系统集成OKTA,实现第三方托管登录 一.添加Okta应用程序 1.OKTA配置 二.React集成OKTA 1.拉取OKTA依赖 2.路由集成 2.Home组件 一.添加Okta应用程 ...

  3. 微信第三方授权登录之oauth开发

    背景: 首先copy下别人讲解的oauth2.0验证授权的一些背景知识: 1) 传统的注册登陆方式: 如果你是一个新用户,则点击新用户注册按钮,进入由简书提供的注册页面,进行用户名密码验证和设置 然后 ...

  4. 通过输入方式在Android上进行微博OAuth登录

    在微博认证方式里,基本的OAuth认证是必须要调整到跳转到第三方页面上进行授权的,例如下面的例子: 1.从http://open.weibo.com/wiki/index.php/SDK#Androi ...

  5. OAUTH之 钉钉第三方授权登录

    文章目录 OAUTH之钉钉第三方授权登录 前期用到的工具 获取access_token 请求地址 请求方法 响应 扫码 / 使用账号密码 -- 获取 临时 code 参数重要说明 直接访问 扫码登录 ...

  6. 通过注册表修改win 10 默认登陆方式(不想用PIN码只想密码登录)

    不小心在公司电脑上设了PIN码,然后不能删除,导致每次登陆先让我输入PIN码(策略关系不可用PIN登录),删么删不掉(设置里面灰的). 但是登陆界面默认是输入PIN,每次切换到输入密码多点一下觉得麻烦 ...

  7. 可视化软件grafana如何用oauth实现第三方授权登录

    ​前言 无论是什么行业的企业或业务,有时候我们需要查看历史数据---了解业务,总结规律,发现异常. grafana作为数据可视化软件之一,支持多种数据源,可灵活配置图表,得到你想要的数据呈现效果,也有 ...

  8. 基于 Oauth 2.0 的第三方账号登录实现

    基于 Oauth 2.0 的第三方账号登录实现 Oauth 2.0 原理与授权流程 1.刚开始的第三方应用接入其他账号登录过程:  存在问题: 1.用户账号.密码信息透露给了第三方应用,导致安全问题 ...

  9. mysql有几种登录方式_MySQL的几种登陆方式

    MySQL的几种登陆方式 登录方式一: [root@001 tmp]# mysql -h 127.0.0.1 -u root -p 这是最标准的登录方式,意指通过tTCP/IP协议进行连接,因为我是本 ...

最新文章

  1. Shell脚本示例代码
  2. 动态改变标题_插入控件-gt;引用变量-gt;实现动态图表纵横筛选
  3. python动态时钟代码_python实现简易动态时钟
  4. python手机版下载官方-Python
  5. 大学 University
  6. Filling Shapes
  7. EditText 输入类型 android:inputType=quot;参数类型quot;
  8. c# task添加顺序_关于c#:Task和async等待所需的指导
  9. oracle buffercache,Oracle DBA开发之:使用sql来查看buffer cache的使用情况
  10. qt开发用的人多吗_新房认筹猫腻多!开发商只是为达到这个目的才认筹,你入坑了吗?...
  11. AIDE MD主题配置
  12. 再聊一聊测试职业发展
  13. Cross Compile libdnet and Python for Montavista/PowerPC
  14. 百度、谷歌高德等网络地图经纬度偏差纠正以及相关坐标系问题
  15. HTML5中定位网页元素重点总结
  16. Spring Boot任务管理
  17. 常见互联网域名及含义
  18. 史上ElasticSearch 最全详细使用教程
  19. C# 委托、匿名委托、Lambda表达式详解
  20. 手写识别文字软件有哪些?看完你就知道了

热门文章

  1. 卷毛崽|Linux自学|存储结构与磁盘划分
  2. 第七十章 SQL函数 $JUSTIFY
  3. xc7z030有多少个quad_XC7Z030-1FFG676I全新原装【科美奇科技】XILINX一级渠道商
  4. 微信小程序实现侦听属性
  5. 简单易懂的自动化测试进阶版【建议收藏】
  6. “F5G+EIoT“构建能源物联网,助力电力物联网数据服务
  7. 能链科技子公司上海能链获颁高新技术企业资质
  8. ORACLE RAC ASM磁盘规划
  9. 购买计算机如何选择CPU,电脑CPU如何挑选 电脑小白选购CPU注意事项
  10. 蘑菇街财报:短暂“盈利”惹众嘲