Невозможно получить зашифрованный пароль с помощью JFrog Artifactory REST API. - PullRequest
0 голосов
/ 16 октября 2018

Я написал Java-клиент для вызова jfrog api (https://artifactory.abcdcompany.com/artifactory/api/security/encryptedPassword),, который может предоставить зашифрованный пароль.

Опция 1:

Процесс с использованием обычной аутентификации с использованием имени пользователя)и API Key, как показано ниже.

  1. Создано inputString = "UserName: APIKey"
  2. Мы создали encodedString = Base64.getEncoder.encodeToString (inputString).
  3. Создана новая строка как stringToBeSent = "Basic" + encodedString;
  4. Затем мы устанавливаем заголовок как Request.setHeader (HTTPHeaders.Authoirization, stringToBeSent);

Я могу подключитьсяк ресурсу и получению HTTP-статуса 200. Кроме того, я получаю ответ, но в ответ вместо того, чтобы получить зашифрованный пароль, я получаю тот же ключ API, который я использовал на шаге 1 выше.

Вариант 2. Кроме того, мы попытались использовать следующее: request.setHeader ("X-JFrog-Art-Api", "APIKey"); Но безрезультатно. Я получаю тот же ключ API, который отправляю.

Если на стороне сервера что-либо разрешено, чтобы артефакт отвечал с зашифрованным паролем при вызове через API.

1 Ответ

0 голосов
/ 16 октября 2018

Поскольку Artifactory не хранит пароли внутри себя ( только хэши паролей ), он не может «дать» вам зашифрованный пароль, если вы не дадите ему простой текстовый пароль.

Что на самом деле происходит вэто - то, что модуль шифрования Artifactory вызывается для строки, которую вы отправляете, и он решает, следует ли зашифровать его или нет, в зависимости от структуры строки, которая изменяется при шифровании) - если да, строка шифруется и затем возвращается.

Поскольку вы отправляете ключ API, который, как знает модуль шифрования, не будет его шифровать (поскольку в этом нет смысла).

Правильный способ использования этого API - это отправка простого текста.пароль для его шифрования модулем шифрования (поскольку, опять же, Artifactory не хранит пароли пользователей внутри).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...