javascript - 如何在 JavaScript 中使用 JIRA REST API 的基本身份验证?

标签 javascript authentication curl jira basic-authentication

我正在为智能电视创建一个 JavaScript 应用程序以在电视上显示仪表板。 我使用 JIRA REST API 获取仪表板列表。我为此使用的网址是:

jira/rest/api/2/dashboard?startAt=&maxResults=

然后我创建一个墙板,如下所示,以便在电视上显示它们:

jira/plugins/servlet/Wallboard/?dashboardId=&os_username=&os_password=

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

但是在电视启动时/我第一次使用 JIRA 获取仪表板列表时,没有人经过身份验证,因此它需要一个随机列表,而不是我需要获取的列表。

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

curl -D- -u fred:fred -X GET -H "Content-Type: application/json"         http://example.com/rest/api/2/issue/createmeta

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

那么谁能告诉我如何使用基本身份验证在 JIRA 中进行身份验证,非常重要的是它必须是 JAVASCRIPT。

最佳答案

你从 here 得到这个, 我相信。在同一页上,解释了如何“自己动手”。我将“翻译”您需要执行的步骤,以便在 JS 中执行相同的请求。

  1. 请求方法应该是GET
  2. 您应该有 2 个 header :Authorization Header and Content-Type Header . 您的 Content-type header 应如下所示: “内容类型:application/json”

对于授权 header :

  1. 构建用户名:密码
  2. 形式的字符串
  3. Base64对字符串进行编码(使用 window.btoa()window.atob() )- 您实际上不需要第二个,但我把它放在那里以供引用
  4. 提供内容为“Basic”的“授权” header ,后跟编码字符串。例如,字符串“fred:fred”在 base64 中编码为“ZnJlZDpmcmVk”,因此您的授权 header 应如下所示: “授权:基本ZnJlZDpmcmVk”

所以最后你需要用提供的两个 header 发出你的 GET 请求,你应该被授权。此外,注意 Base64 是可逆的,而不是加密函数。是编码。请求当然会通过 HTTPS,但如果 SSL 被破坏,Base64 编码的字符串可能会被反转。

关于javascript - 如何在 JavaScript 中使用 JIRA REST API 的基本身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15006705/

相关文章:

javascript - `inline-block` 父元素宽度错误

javascript - 使用 d3 将 Bootstrap 工具提示绑定(bind)到动态创建的 SVG 元素

PHP 捕捉 cURL CURLOPT_TIMEOUT 和 CURLOPT_CONNECTTIMEOUT 事件并采取行动

java - 如何在java中执行cURL语句从kibana获取JSON

php - CURLOPT_CONNECTTIMEOUT 不工作

javascript - 将标签文本拖入段落

javascript - 如何在 Electron 应用程序中捕获单击应用程序窗口关闭按钮的事件

c# - 为什么我的登录页面一直在重新加载,而没有尝试进行身份验证?

authentication - 当一个节点关闭时发生 Cassandra AuthenticationException

java - Dropwizard 查看身份验证示例