当前位置:   article > 正文

GitLab: 使用用户名/密码创建Access Token的暂定方法_gitlab 注册显示用户名存在

gitlab 注册显示用户名存在

在这里插入图片描述

GitLab升级到后续的版本之后,由于Session API已经不再支持,通过用户名/密码方式获取Access Token的方式需要换一种方式,这篇文章介绍一下一种通过使用cookie获取的方式。

原有方式:v3的Session API

早期版本,比如Gitlab 8,可以通过如下方式轻松获得Private Token

[root@platform tmp]# curl http://192.168.163.118:32001/api/v3/session --data 'login=root&password=12345678' 2>/dev/null |jq . |grep token 
  "private_token": "9-9rh18mQz4h3eDMQf5M"
[root@platform tmp]#
  • 1
  • 2
  • 3

详细可参看:https://blog.csdn.net/liumiaocn/article/details/81291556

不可使用原因:随着Access Token功能的全面升级,对于token也能做到多个token以及过期日期的更细粒度的控制,session api也完成了其作用,已经不再支持。

暂定方法

思路:使用cookie,模拟页面操作的方式传入信息,然后从返回的html页面从提取相应的结果内容。

环境准备

docker-compose文件

liumiaocn:gitlab liumiao$ cat docker-compose.yml 
version: '2'    
services:
  # Version Control service: Gitlab
  gitlab:
    image: gitlab/gitlab-ce:12.10.5-ce.0
    ports:
      - "32001:80"
    volumes:
      - ./log/:/var/log/gitlab
      - ./data/:/var/opt/gitlab
      - ./conf/:/etc/gitlab
    restart: "no"
liumiaocn:gitlab liumiao$ 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

事前准备

创建如下目录:

liumiaocn:gitlab liumiao$ ls
docker-compose.yml
liumiaocn:gitlab liumiao$ mkdir -p log data conf
liumiaocn:gitlab liumiao$ ls
conf			data			docker-compose.yml	log
liumiaocn:gitlab liumiao$ 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

启动

启动命令:docker-compose up -d

登录URL

  • http://localhost:32001

在这里插入图片描述
注:此处设定root用户密码为liumiaocn,后续将使用root/liumiaocn创建和获取Access Token。

步骤1: 获取认证token

使用如下示例命令获取认证token信息,此信息将在步骤2模拟页面登录时使用

liumiaocn:api liumiao$ curl -c cookie.txt -i "http://localhost:32001/users/sign_in" -s >token.txt
liumiaocn:api liumiao$
  • 1
  • 2

生成的cookie详细

liumiaocn:api liumiao$ cat cookie.txt 
# Netscape HT
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/463292
推荐阅读
相关标签
  

闽ICP备14008679号