无法使用 JFrog Artifactory REST API 获取加密密码。
Not able to get the encrypted password using JFrog Artifactory REST API.
我写了一个Java调用jfrogapi(https://artifactory.abcdcompany.com/artifactory/api/security/encryptedPassword)的客户端,可以提供加密后的密码
选项 1:
使用用户名和 API 密钥进行基本身份验证的流程如下。
- 创建了一个 inputString = "UserName:APIKey"
- 我们创建了一个 encodedString = Base64.getEncoder.encodeToString(inputString)。
- 创建了一个新字符串作为 stringToBeSent = "Basic " + encodedString;
- 然后我们将 header 设置为 Request.setHeader(HTTPHeaders.Authoirization,stringToBeSent);
我能够连接到资源并获得 HTTP 状态 200。此外,我收到了响应,但在响应中,我收到的不是加密密码,而是相同的 API我在上面的步骤 1 中使用的密钥。
选项 2:
此外,我们尝试使用以下内容:
request.setHeader("X-JFrog-Art-Api","APIKey");但无济于事。我收到了与发送时相同的 API 密钥。
当通过 API.
调用时,是否应该在服务器端启用任何东西以使用加密的密码进行人为响应
由于 Artifactory 不在内部存储密码 (only hashes of passwords),如果不提供纯文本密码,它就无法 'give' 输入加密密码。
真正发生的事情 api 是在您发送的字符串上调用 Artifactory 的加密模块,它决定是否应该加密(基于修改后的字符串的结构) encryption) - 如果是,则字符串被加密然后返回。
由于您发送的是 api 密钥,加密模块知道它不会对其进行加密(因为没有意义)。
使用 api 的正确方法是发送您的明文密码以通过加密模块对其进行加密(同样,Artifactory 不会在内部存储用户密码)。
我写了一个Java调用jfrogapi(https://artifactory.abcdcompany.com/artifactory/api/security/encryptedPassword)的客户端,可以提供加密后的密码
选项 1:
使用用户名和 API 密钥进行基本身份验证的流程如下。
- 创建了一个 inputString = "UserName:APIKey"
- 我们创建了一个 encodedString = Base64.getEncoder.encodeToString(inputString)。
- 创建了一个新字符串作为 stringToBeSent = "Basic " + encodedString;
- 然后我们将 header 设置为 Request.setHeader(HTTPHeaders.Authoirization,stringToBeSent);
我能够连接到资源并获得 HTTP 状态 200。此外,我收到了响应,但在响应中,我收到的不是加密密码,而是相同的 API我在上面的步骤 1 中使用的密钥。
选项 2: 此外,我们尝试使用以下内容: request.setHeader("X-JFrog-Art-Api","APIKey");但无济于事。我收到了与发送时相同的 API 密钥。
当通过 API.
调用时,是否应该在服务器端启用任何东西以使用加密的密码进行人为响应由于 Artifactory 不在内部存储密码 (only hashes of passwords),如果不提供纯文本密码,它就无法 'give' 输入加密密码。
真正发生的事情 api 是在您发送的字符串上调用 Artifactory 的加密模块,它决定是否应该加密(基于修改后的字符串的结构) encryption) - 如果是,则字符串被加密然后返回。
由于您发送的是 api 密钥,加密模块知道它不会对其进行加密(因为没有意义)。
使用 api 的正确方法是发送您的明文密码以通过加密模块对其进行加密(同样,Artifactory 不会在内部存储用户密码)。