使用 GitLab 的 OAuth2 认证服务
本文档讲述如何使用 GitLab 作为 OAuth 认证服务提供商,以通过 GitLab 的 OAuth 认证登录其他服务(例如持续集成工具 Drone)。
如果想使用其他 OAuth 身份验证服务提供商(例如 GitHub、Facebook 等)登录 GitLab,请参阅 OAuth2 客户端文档。
OAuth 简介
OAuth 代表资源所有者向客户端应用程序提供对服务器资源的“安全委派访问”。实际上,OAuth 允许授权服务器在获得资源所有者或最终用户的批准后向第三方客户端颁发访问令牌。
OAuth 主要用作单一登录服务(SSO),但也可以在此功能中找到许多不同的用途。例如,可以允许用户使用他们的 GitLab.com 帐户登录你的应用程序,或者可以使用 GitLab.com 对你的 GitLab 实例进行身份验证(请参阅 GitLab OmniAuth)。
GitLab Importer 功能还使用 OAuth 协议访问存储库,无需将用户凭据共享到您的 GitLab.com 帐户。
GitLab 支持两种向实例添加新的 OAuth2 应用程序的方式。你可以将应用程序添加为常规用户,也可以将其添加到管理员区域。这意味着 GitLab 可以具有实例范围和用户范围的应用程序。除了它们设置的不同权限级别(用户/管理员)之外,它们之间没有区别。默认回调网址是 http://your-gitlab.example.com/users/auth/gitlab/callback,例如 https://gitlab.kikakika.com/users/auth/gitlab/callback。
通过“Settings”添加 application
点击右上角的用户头像后,点击 Settings 进入设置页面,然后点击 Applications 开始创建 application。
在创建 application 的表单中,输入任意一个名称,并确保正确设置重定向 URI(用户在用 GitLab 授权后跳转到的 URL)。
选择合适的“Scopes”。
api:访问经过身份验证的用户 API。以用户身份完全访问 GitLab,包括对其所有组和项目的读/写。read_user:阅读经过验证的用户的个人信息。以只读方式访问用户的个人资料信息,如用户名、公共电子邮件和全名。sudo:以系统中的任何用户身份执行 API 操作(如果经过身份验证的用户是 admin)。read_repository:读仓库。openid:使用 OpenID Connect 进行身份验证。使用 GitLab 进行身份验证的能力以及对用户个人资料信息和组成员身份的只读访问权限。
点击提交时,将获得 application ID 和 application secret,然后可以将其与连接到 GitLab 的应用程序一起使用。
管理区域(admin area )中的 OAuth 应用程序
可以在管理区域创建不属于特定用户的应用程序。
还可以通过管理区域将应用程序标记为可信,这样的应用程序会自动跳过用户授权步骤。
你授权使用你的 GitLab 凭证的每个应用程序都将显示在 Settings > Applications 下的“Authorized applications”部分。
Authorized_applications
GitLab 的 OAuth 应用程序支持范围(scopes),用来设置应用程序可以执行的操作。目前支持的范围有:api,read_user,sudo,read_repository 和 openid。
可以随时通过点击 Revoke 来撤消任何访问权限。
使用 GitLab 的 OAuth2 认证服务的更多相关文章
- 远程办公的GitLab开源的员工手册:涵盖了公司价值观,内部沟通交流指南,开发流程,如何开会,写作风格指南,如何报销,如何请假,线上办公工具推荐等方方面面
原文 :https://docs.gitlab.com.cn/ce/ 英文 :https://about.gitlab.com/handbook/ GitLab Community Edition G ...
- Secure REST API with oauth2 (翻译)
http://blog.csdn.net/haiyan_qi/article/details/52384734 ******************************************** ...
- Oauth2 初步
搭建一个最简单的 Oauth2 认证服务 基于 Springboot2,在 pom.xml 中引入 Oauth2: 123456789101112 <dependency> <gro ...
- spring oauth2获取当前登录用户信息。
使用spring oauth2框架做授权鉴定.想获取当前用户信息怎么办? 我们知道spring oauth2是基于spring security的实现的. spring security可以通过Sec ...
- Spring Security OAuth2 完全解析 (流程/原理/实战定制) —— Client / ResourceServer 篇
一.前言 本文假设读者对 Spring Security 本身原理有一定程度的了解,假设对 OAuth2 规范流程.Jwt 有基础了解,以此来对 SpringSecurity 整合 OAuth2 有个 ...
- 翻译:WebApi 认证--用户认证Oauth解析
The Web API v2用户认证模板提供了流行的应用用户认证场景,如.使用本地帐号的用户名密码认账 (包括创建用户.设置和修改密码)以及使用第三方的认证方式,如facebook,googl ...
- 基于 Spring Cloud 完整的微服务架构实战
本项目是一个基于 Spring Boot.Spring Cloud.Spring Oauth2 和 Spring Cloud Netflix 等框架构建的微服务项目. @作者:Sheldon地址:ht ...
- OAuth2建立webapi认证服务供自己的客户端使用--密码模式
场景:你自己实现了一套webApi,想供自己的客户端调用,又想做认证. 第一步:通过vs2015建立web api项目,Startup.cs,这个类将会作为Owin的启动类. 第二步:在webapi. ...
- OAuth2.0认证流程是如何实现的?
导读 大家也许都有过这样的体验,我们登录一些不是特别常用的软件或网站的时候可以使用QQ.微信或者微博等账号进行授权登陆.例如我们登陆豆瓣网的时候,如果不想单独注册豆瓣网账号的话,就可以选择用微博或者微 ...
随机推荐
- HDFS网络拓扑概念及机架感知(副本节点选择)
网络拓扑概念 在本地网络中,两个节点被称为“彼此近邻”是什么意思?在海量数据处理中,其主要限制因素是节点之间数据的传输速率——带宽很稀缺.这里将两个节点间的带宽作为距离的衡量标准. 节点距离:两个节点 ...
- java jdk12,安装路径没有jre文件夹
(平台备注:win10系统,自测) 1.造成原因:JDK11之后没有直接的jre,要用户选择jre模块 2.如果需要,执行以下步骤可生成: 2.1 进入jdk安装目录下, 2.2 点击shift+右键 ...
- X86平台下用汇编写"HelloWorld"
首先需要安装一个汇编器,我用的是Nasm,这个汇编器在Linux下安装还是很简单的. Nasm下载地址http://www.nasm.us/pub/nasm/releasebuilds/ 在下载之后对 ...
- ajax传文件用express的multer接住
html部分: //input type设为file <input type="file" name="file" id="fileInputE ...
- JavaScript基础1——在末尾添加节点
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- iOS10、Chrome、微信7.0无法定位
问题 在做一个项目的时候,需要使用高德地图进行定位,测试的时候没有问题,在微信中打开的时候,无法进行定位,进过查询资料,得知微信升级7.0做了安全限制,然后使用http的定位不能正常使用,有这种限 ...
- Python在线IDE | 谷歌Colaboratory云端IDE介绍
目录 1. 推荐阅读 2. 本文地址 3. 按 4. 使用篇 6. 教学篇 1. 推荐阅读 Python基础入门一文通 | Python2 与Python3及VSCode下载和安装.PyCharm破解 ...
- 阿里P8技术栈
- LA 3263 That Nice Euler Circuit(欧拉定理)
That Nice Euler Circuit Little Joey invented a scrabble machine that he called Euler, after the grea ...
- dialog写进dll调用
#ifdef DLG_WINDOW_API #define DLG_WINDOW_EXPORT __declspec(dllexport) #else #define DLG_WINDOW_EXPOR ...