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

Так что это в добавлении к моему вопросу, поставленному здесь .Спасибо @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 и как-то он что-то делает?(Мне было немного неясно по этому поводу)

1 Ответ

0 голосов
/

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

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

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

Спасибо:)

...