如何在JavaScript中使用JIRA REST API进行基本身份验证?

use*_*102 9 javascript authentication curl jira basic-authentication

我正在为智能电视创建一个JavaScript应用程序,以便在电视上显示仪表板.我获得了使用JIRA REST API的仪表板列表.我用它的网址是:

jira/rest/api/2/dashboard?startAt=&maxResults=
Run Code Online (Sandbox Code Playgroud)

之后我创建了一个墙板,然后在电视上显示:

jira/plugins/servlet/Wallboard/?dashboardId=&os_username=&os_password=
Run Code Online (Sandbox Code Playgroud)

因为os_usernameos_password,JIRA知道我已经过身份验证并获得了正确的列表.这个列表是我从一开始就需要的,但因为我用参数调用上面的url os_username,os_password它确实得到了正确的列表

但是在启动电视时/我第一次获得JIRA的仪表板列表时,没有人通过认证,所以它需要一个随机列表,而不是我需要的列表.

有一些方法可以使用以下命令在JIRA中进行身份验证:

curl -D- -u fred:fred -X GET -H "Content-Type: application/json"         http://example.com/rest/api/2/issue/createmeta
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在JavaScript中使用该命令.

因此,任何人都可以告诉我如何使用基本身份验证在JIRA中进行身份验证,非常重要的是有JAVASCRIPT.

Bor*_*bev 21

我猜你从这里得到了这个.在同一页面上,它解释了如何"自己动手".我将"翻译"您需要执行的步骤,以便在JS中管理相同的请求.

  1. 请求方法应该是GET
  2. 您应该有2个标头:授权标头和内容类型标头.您的Content-type标头应如下所示: "Content-Type:application/json"

对于Authorization标头:

  1. 构建一个username:password形式的字符串
  2. Base64编码字符串(使用window.btoa()window.atob()) - 你实际上不需要第二个但我把它放在那里供参考
  3. 提供"授权"标题,内容为"基本",后跟编码字符串.例如,字符串"fred:fred"在base64中编码为"ZnJlZDpmcmVk",因此您的授权标题应该看起来像": "授权:基本ZnJlZDpmcmVk"

因此,最后您需要使用提供的两个Header进行GET请求,您应该获得授权.此外,BEWARE Base64是可反转的,而不是加密功能.它是编码.当然,请求将通过HTTPS,但如果SSL中断,则可以反转Base64编码的字符串.