amazon-web-services - AWS Amplify + bitbucket 部署问题
问题描述
我正在尝试使用带有前端的 bitbucket 存储库来部署 Amplify 项目。在部署阶段,Amplify CLI 要求提供 OAuthToken(在 bitbucket 中的任何地方都找不到)。OAuth 使用者有密钥和秘密,两者都不被 Amplify CLI 接受。
我得到的错误是:
There was an issue setting up your repository.
Please try again later.({"type": "error",
"error": {"message": "Access token expired."}})
(Service: Amplify; Status Code: 400; Error Code:
BadRequestException; Request ID:
ceced480-e38d-4c44-a1db-ad2eb50e34a8; Proxy:
null)
我可能在这里做错了什么。但是几个小时的谷歌搜索并没有帮助我。
请指教。提前非常感谢!
解决方案
解决方案是在您的 bitbucket 帐户中设置 OAuth 使用者(密钥和秘密),但您必须遵循一些特定步骤。
单击您的帐户配置文件名称 -> 设置。在 OAuth 消费者下,单击添加消费者。
- 将回调 url 设置为 http://localhost:3000 注意:这从未使用过,但如果不设置一些东西就无法让它工作
- 勾选“这是私人消费者”
权限:
- 存储库 -> 管理员
- Webhook -> 读写
- 拉取请求 -> 阅读
创建后,记下密钥和秘密,因为它将在下一步中使用。
打开终端(替换 KEY 和 SECRET)并运行:
curl -X POST -u "KEY:SECRET" https://bitbucket.org/site/oauth2/access_token -d grant_type=client_credentials
这将返回一个access_token
你应该复制的。
现在,这让我大吃一惊,因为在 AWS 中,您可以提供访问令牌或宣誓令牌。由于我们使用的是 OAuth,即使调用了返回的令牌access_token
,在 aws 中我们也需要将其添加到 OAuthToken 字段中。
在 Cloudformation 中,它如下所示(AWS CLI 使用类似命名的字段,因此也应该在那里工作)。
Type: AWS::Amplify::App
Properties:
Name: MyApp
Repository: https://bitbucket.org/USERNAME/REPO_NAME
OauthToken: ACCESS_TOKEN # token returned from terminal command
推荐阅读
- json - Azure Cosmos DB SQL - 如何取消转义内部 json 属性
- android - 如何使用 Glide 在 Firebase 的回收站视图中将图像设置为 imageview?
- uml - 我应该在 UML 用例图中包含系统的任务/响应吗?
- javascript - 从字符串中提取数字并将它们包装在 HTML 中
- domain-driven-design - 如何根据 DDD 中的请求类型和发起者将请求分配给不同的人
- javascript - Is there any way to detect middle click in React JS?
- yocto - 将 yocto 图像闪烁到 raspberrypi-cm3
- angular - 我如何从模块加载 css 以影响整个文档样式
- angularjs - Second select box needs to be populated after the first select box is selected
- c++ - QWidget findChildren when objectname contains a specific string