使用 OAuth 2.0 将 Amazon OpenSearch Ingestion 管道连接到 Atlassian Jira 或 Confluence
使用本主题中的信息,帮助您使用 OAuth 2.0 身份验证配置 Amazon OpenSearch Ingestion 管道并将其连接到 Jira 或 Confluence 账户。当借助 Atlassian Services 使用 OpenSearch Ingestion 管道完成 先决条件,但选择不使用 API 密钥凭证时,请执行此任务。
创建 OAuth 2.0 集成应用程序
使用以下步骤,帮助您在 Atlassian Developer 网站上创建 OAuth 2.0 集成应用程序。
创建 OAuth 2.0 集成应用程序
-
登录 Atlassian Developer 账户,网址为 https://developer.atlassian.com/console/myapps/
。 -
选择创建、OAuth 2.0 集成。
-
对于名称,输入名称以标识应用程序的用途。
-
选择我同意遵守 Atlassian 的开发人员条款复选框,然后选择创建。
-
在左侧导航栏中,选择授权,然后选择添加。
-
在回调 URL 中,输入任意 URL,例如
https://www.amazon.com或https://www.example.com,然后选择保存更改。 -
在左侧导航栏中,选择权限页面,然后在 Jira API 的行中选择添加,接着选择配置。勾选所有经典范围的读取权限(列表如下),然后选择“保存”
-
选择精细范围选项卡,然后选择编辑范围,以打开编辑 Jira API 对话框。
-
选择正在使用的源插件的权限:
-
选择保存。
有关更多信息,请参阅 Atlassian Developer 网站上的 Implementing OAuth 2.0(3LO)
生成和刷新 Atlassian Developer 访问令牌
使用以下步骤,以帮助您在 Atlassian Developer 网站上生成和刷新 Atlassian Developer 访问令牌。
生成和刷新 Jira 访问令牌
-
登录 Atlassian Developer 账户,网址为 https://developer.atlassian.com/console/myapps/
。 -
选择在 创建 OAuth 2.0 集成应用程序 中创建的应用程序。
-
从左侧导航中,选择授权。
-
从页面底部复制精细的 Atlassian API 授权 URL 值,然后将其粘贴到您选择的文本编辑器中。
URL 的格式如下所示:
https://auth.atlassian.com/authorize? audience=api.atlassian.com &client_id=YOUR_CLIENT_ID&scope=REQUESTED_SCOPE%20REQUESTED_SCOPE_TWO&redirect_uri=https://YOUR_APP_CALLBACK_URL&state=YOUR_USER_BOUND_VALUE &response_type=code &prompt=consent -
对于
state=YOUR_USER_BOUND_VALUE,将参数值更改为您选择的任何值,例如 state="sample_text"。有关更多信息,请参阅 Atlassian Developer 网站上的 What is the state parameter used for?
。 -
请注意,
scope部分列出您在先前任务中选择的精细范围。例如:scope=read%3Ajira-work%20read%3Ajira-user%20offline_accessoffline_access表示您要生成refresh_token。 -
打开 Web 浏览器窗口,在浏览器窗口的地址栏中输入您复制的授权 URL。
-
目标页面打开后,请确认信息准确无误,然后选择接受,以重定向至 Jira 或 Confluence 主页。
-
主页加载完成后,复制此页面的 URL。该 URL 包含应用程序的授权码。您可使用此代码生成访问令牌。
code=之后的整个部分即为授权码。 -
使用以下 cURL 命令生成访问令牌。将
占位符值替换为您自己的信息。提示
您也可以使用第三方服务,例如 Postman。
curl --request POST --url 'https://auth.atlassian.com/oauth/token' \ --header 'Content-Type: application/json' \ --data '{"grant_type": "authorization_code", "client_id": "YOUR_CLIENT_ID", "client_secret": "YOUR_CLIENT_SECRET", "code": "AUTHORIZATION_CODE", "redirect_uri": "YOUR_CALLBACK_URL"}'对此命令的响应包括
access_code和refresh_token的值。