【问题标题】:AWS Amplify + bitbucket deployment issueAWS Amplify + bitbucket 部署问题
【发布时间】:2021-05-26 19:04:13
【问题描述】:

我正在尝试使用带有前端的 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) 

我可能在这里做错了什么。 但是数小时的谷歌搜索对我没有帮助。

请指教。 提前非常感谢!

【问题讨论】:

  • 你解决过这个问题吗?在 CloudFormation 中遇到类似问题\
  • 很遗憾,但没有。我们将所有数据移至 github。
  • 设法找到了解决方案。在下面为其他人添加

标签: amazon-web-services bitbucket aws-amplify aws-amplify-cli


【解决方案1】:

解决方案是在您的 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

【讨论】:

  • curl -X POST -u "KEY:SECRET" bitbucket.org/site/oauth2/access_token -d grant_type=client_credentials 对我没用。
  • 应该的。你一定做错了什么。也许是权限?忘记设置为私人消费者?你得到什么错误?
猜你喜欢
  • 1970-01-01
  • 2020-08-18
  • 2017-04-02
  • 2022-11-07
  • 2021-02-17
  • 2021-08-25
  • 2017-11-30
  • 2023-01-23
  • 2018-05-09
相关资源
最近更新 更多