前言
由图我们可以看出调用API需要带上token,下面主要聊下Private Token和Access Token。
API文档: https://docs.gitlab.com/ee/api/projects.html
获取GitLab的Private Token
如上图,点击Profile Settings-选择Account可以看到Private Token。
GitLab为每个用户都分配了一个Private Token,通过该token能获取到该用户下能看到的全部项目资源。
但是,往往在项目开发中,每个人看到项目资源的权限是不同的,也就是说GitLab为每个人分配的Private Token是不一样的。因此需要一种能根据每个用户动态验证生产的Token,那就是Access Token了。
获取Access Token流程
如上图,获取Acess Token需要经过的步骤如下:
获取Access Token的操作步骤
生成ClientId、Secret以及配置回调URL。
如上图,输入:name和Redirect,点击save application创建一个Application。
如上图生成的Application id、secret用于Oauth2认证。
java实现OAuth2认证
引入OAuth2 client依赖 。
调用OAuth2 client函数调用GitLab的tokenAPI ( http://git.xxx.com/oauth/toke n),获取Access Token 。
带上Access Token 获取GitLab的projects资源
获取project的API:
http://git.xxx.com/api/v3/projects?access_token=%s
能动态授权,获取到GitLab资源信息,这样就可以在项目中轻松的集成GitLab了。
关于GitLab认证机制的文档
https://docs.gitlab.com/ce/api/oauth2.html