我已经构建了一个自定义连接器,它允许我在 Jira Cloud API 中使用 Azure 内置 Jira 连接器中不可用的操作。
由于我的应用程序最初处于开发阶段,因此我使用基本身份验证来验证 Jira Cloud API 的连接器。自定义连接器中的所有操作都没有问题。
现在我将我的应用程序移动到 Prod 我需要更改自定义连接器身份验证以使用 OAuth 2.0。
我已经按照 Jira 文档中的步骤操作,并且可以使用 OAuth 2.0 成功地向 Jira Cloud API 进行身份验证
- 我的 Atlassian 开发者门户中提供的授权 URL
- 手动创建的授权 URL
但是,当我在自定义连接器 OAuth 2.0 安全选项卡中输入完全相同的详细信息时,对 Jira Cloud API 的授权失败并显示消息“此应用未请求任何受支持的 Atlassian 范围。检查您的应用的授权 URL 并确保它包含有效范围
我不确定这有多相关,但每当我尝试身份验证时,都会为自定义连接器创建一个 API 连接。
我在自定义连接器安全字段中使用的字段是:
- 身份提供者:通用 OAuth 2
- 客户 ID:直接从我的 Atlassian 开发门户网站复制
- 客户机密:直接从我的 Atlassian 开发门户网站复制而来
- 授权网址:https ://auth.atlassian.com/authorize
- 令牌网址:https ://api.atlassian.com/ex/jira/myConfirmedValidCloudid/rest/api/2/project
- 刷新 URL:同 Token URL
- 范围:读取%3Ajira-work
- 重定向网址:https ://logic-apis-westus.consent.azure-apim.net/redirect
对于上述所有安全字段,我提供的值与用于上述两种身份验证方法的值完全相同,它们都有效。
我尝试了以下故障排除步骤:
- 将范围添加到授权 URL - https://auth.atlassian.com/authorize?scope=write%3Ajira-work
- 将授权 URL 中的范围更改为另一个有效范围 - https://auth.atlassian.com/authorize?scope=read%3Ajira-work
- 将安全字段中的范围更改为略有不同的格式 read%3Ajira-work read:jira-work 'read:jira-work'
- 我还尝试直接在自定义连接器 Swagger 文件中更改范围
同样,我不确定这有多相关,但是当我将范围添加到授权 URL 时,Atlassian 错误消息只是说“出了点问题”,并且没有为自定义连接器创建 API 连接。
下面是自定义连接器的 Swagger 文件的摘录:
- 安全定义:
- oauth2_auth:
- 类型:oauth2
- 流程:访问代码
- 授权网址:https ://auth.atlassian.com/authorize
- tokenUrl:https ://api.atlassian.com/ex/jira/myConfirmedValidCloudid/rest/api/2/project
- 范围:{read%3Ajira-work:读取%3Ajira-work}
- 安全:
- oauth2_auth: [读取%3Ajira-work]
Atlassian 支持人员建议,由于开发人员门户 URL 和手动创建的 URL 都正确验证,因此问题必须与 Microsoft 连接器有关。
任何指导将不胜感激。