【问题标题】:How to call RESTAPI in JIRA without using password如何在不使用密码的情况下在 JIRA 中调用 REST API
【发布时间】:2016-06-12 10:00:26
【问题描述】:

我正在尝试为使用 REST API 的 JIRA 构建一个插件。使用 Jersey 客户端连接 Web 资源并获取 JSON 响应,即ClientResponse。在这里,我在标题中使用Authorization,并在需要用户名和密码的地方使用了基本类型授权。我想使用会话或任何其他类型的授权技术,因为没有人以纯文本形式提供密码,然后对用户名和密码进行加密并发送请求。所以我的问题是:有没有其他方法可以在 JIRA 中调用 REST API,这样我就可以在不使用密码的情况下调用其他 REST API。
我的代码是:

    Client client = Client.create();
    String resturl="https://domainname.com/rest/gadget/1.0/currentUser";
    WebResource webResource = client.resource(resturl);
    ClientResponse response = webResource.header("Authorization", "Basic" + auth).type("application/json").get(ClientResponse.class);
    int statusCode = response.getStatus();
    String jsonResponse = response.getEntity(String.class);
    w.write("Status:"+statusCode);
    w.write("Response:"+jsonResponse);

我收到了上述代码的响应,但没有人提供纯文本密码来访问资源。有人知道这个问题吗?

【问题讨论】:

    标签: oauth jira-plugin jersey-client jira-rest-api


    【解决方案1】:

    JIRA REST API Reference:

    身份验证

    任何适用于 JIRA 的身份验证都适用于 REST API。 首选的身份验证方法是 OAuth(示例)和 HTTP Basic(使用 SSL 时),它们都记录在 JIRA REST API 教程中。其他支持的方法包括 HTTP Cookie 和受信任的应用程序。

    JIRA 在浏览器中使用基于 cookie 的身份验证,因此您可以从页面上的 Javascript 调用 REST 并依赖浏览器已建立的身份验证。要重现 JIRA 登录页面的行为(例如,向用户显示身份验证错误消息)可以 POST/auth/1/session 资源。

    Atlassian Connect 插件的身份验证

    使用 Atlassian Connect 构建的 JIRA 插件可以使用 JWT 轻松一致地通过 JIRA 验证 API 请求并验证查询参数的完整性。请参阅 Atlassian Connect JWT 身份验证文档以了解更多信息。

    【讨论】:

    • 您能否提供 OAuth 的工作示例。因为在 JIRA 文档中,只提供了如何获取令牌和使用该令牌。请提供任何可用的 java 程序。任何帮助表示赞赏。
    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 2023-01-09
    • 2019-08-06
    • 2015-02-23
    • 1970-01-01
    相关资源
    最近更新 更多