azure - Azure Logic App Custom Connector 无法通过 OAuth 2.0 向 Jira Cloud API 进行身份验证
问题描述
我已经构建了一个自定义连接器,它允许我在 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 连接器有关。
任何指导将不胜感激。
解决方案
推荐阅读
- java - 有多种方法做同样的事情
- github - 保护 Github 分支免受管理员的攻击
- javascript - 如何在jw播放器中添加大量广告
- excel - objWORD.Quit 不关闭创建的 Word 对象
- flutter - 如何在颤振中使用 BLOB 构造函数
- mysql - 如何在 Sequelize 关联两个表
- r - 通过变量值控制 ggplot 线宽
- intellij-idea - 如何在 Mac 上关闭单个 JetBrains IDE?
- firebase - Firebase 存储和 Cloud Firestore/实时数据库有什么区别?
- python - python:如何将json转换为数据框