如何解决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 注意:这从未使用过,但如果不进行设置就无法使其工作
- 勾选“这是私人消费者”
权限:
- 存储库 -> 管理员
- Webhooks -> 读写
- 拉取请求 -> 阅读
创建后,请记下密钥和秘密,以便在下一步中使用。
打开终端(替换 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。