Как пройти аутентификацию с помощью имени пользователя и пароля Gitlab через исполняемый файл bash

Так что это в дополнение к моему вопросу, поставленному здесь здесь . Спасибо @dessert, который очень помог с этим вопросом.

Поэтому я пытаюсь аутентифицировать пользователя Gitlab, используя его имя пользователя и пароль, а не создавая маркер олицетворения. На данный момент созданный @dessert код, использующий маркер олицетворения для аутентификации пользователя, выглядит следующим образом:

$ curl -d '{"title":"test key","key":"'"$(cat ~/.ssh/id_rsa.pub)"'"}' -H 'Content-Type: application/json' https://gitlab.com/api/v4/user/keys?private_token=<my_access_token>

В основном фокусируется на `private_token =, за исключением случаев, когда найден маркер олицетворения здесь

$ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "name=mytoken" --data "expires_at=2017-04-04" --data "scopes[]=api" https://gitlab.example.com/api/v4/users/42/impersonation_tokens

Я хочу иметь возможность использовать имя пользователя и пароль пользователя Gitlab для их аутентификации. Я видел, как это делается с Github, и сделал это сам:

$ curl -u "USERNAME:PASSWORD" --data "{\"title\": \"TITLE\", \"key\": \"$(cat ~/.ssh/id_rsa.pub)\"}" https://api.github.com/user/keys

Где USERNAME и PASSWORD проходят аутентификацию с помощью введенных пользователем имени пользователя и пароля.

Мне не нужна помощь с чтением ввода пользователя; это не проблема. Моя проблема (чтобы подвести итог) состоит в том, чтобы иметь возможность аутентифицировать пользователя Gitlab через его имя пользователя и пароль.

Опять же, спасибо @dessert за помощь и любую другую помощь! большинство говорят использовать токен личного доступа. Означает ли это, что я должен заставить пользователя дать мне свой PAT для аутентификации? Или я предоставляю мой PAT и как-то он что-то делает? (Я был немного неясен в этом)

2
задан 2 August 2019 в 02:04

1 ответ

Таким образом, кажется, как будто этот вопрос не получает это много ответов. Я хотел бы совместно использовать свой ответ на это: не реализуйте это.

Я понял это после обнаружения, что, что я на самом деле думал, эта проверка была, загрузит частный repo на Gitlab. ОДНАКО это не делает, поскольку это зависит от учетной записи пользователя, который связан с repo.

Мое решение состоит в том, чтобы предупредить их, что, прежде чем они продолжат сценарий, они добавляют ключ SSH к своей учетной записи. Не верный способ всегда работать, но это, кажется, работает на меня в данный момент.

Спасибо :)

0
ответ дан 2 December 2019 в 06:03

Другие вопросы по тегам:

Похожие вопросы: