标签: amplify

如何在不使用 Amplify 的情况下使用 Amazon Cognito

我现在刚刚进入 Cognito。AWS 设置相当简单直接。

我们有各种各样的应用程序、网络应用程序和服务,我们希望它们能够使用 Cognito 服务。我有使用 Auth0 进行类似设置的经验,但由于我们一直在利用许多 Amazon Web Services,因此使用 Cognito 也确实很有意义。

我所到之处,每个指南最终都引用了 Amplify 客户端库和 cli。我们有现有的应用程序和服务,真的不想改变工具或导入任何不必要的东西来增加膨胀和复杂性。有没有办法在没有 Amplify 库的情况下使用 Cognito 服务?是否有用于与 Cognito 服务、身份验证和授权流程交互的轻量级仅 Cognito 客户端库?

amazon-web-services amazon-cognito amplify

17
推荐指数
2
解决办法
3293
查看次数

在反应 js 中成功上传图像后,AWS Amplify s3 图像选择器状态检查

我正在使用上面的标签将图像上传到 s3 存储桶。它确实成功上传了图像。但是如何检查回调成功与否?如何获得返回键?通过s3imagepicker上传后如何访问图像?

感谢您的帮助

amazon-s3 reactjs amplify

6
推荐指数
0
解决办法
210
查看次数

构建失败 - 在 AWS Amplify 中的“npm build”后检测到非零退出代码

我将我的 AWS Amplify 应用程序链接到一个新的 React Gatsby GitHub 存储库以进行持续部署。该应用程序在本地编译良好,但我在 AWS 构建期间在“前端”中遇到错误,说 amplify.sh 文件在 npm run 构建行中“被杀死”,然后是“检测到非零退出代码”错误。下面是错误截图的链接:

AWS 放大错误

以下是我在 AWS 中的 amplify.yml 文件的内容:

version: 1
frontend:
  phases:
    preBuild:
      commands:
        - npm ci
    build:
      commands:
        - npm run build
  artifacts:
    baseDirectory: public
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*
Run Code Online (Sandbox Code Playgroud)

我是否需要编辑 amplify.yml 文件,或者向 package-lock 或 gatsby-node 文件添加一些内容?

amazon-web-services reactjs gatsby aws-amplify amplify

6
推荐指数
1
解决办法
199
查看次数

使用 SSR 和 Amplify 在 Nuxt.js 中间件中出现“未验证”错误

我想创建一个 Nuxt.js 中间件来检查用户是否经过身份验证。在应用程序内部导航时效果很好。但是当我刷新页面时,我总是得到:

[错误] 43:48.846 foo - 服务器 { 15:43:48  
  错误:“未通过身份验证”
}
 错误 [错误] 43:48.844 AuthError - 15:43:48  
        错误:Amplify 配置不正确。
        配置对象缺少必需的身份验证属性。
        通过“amplify add auth”添加身份验证后,您是否运行了“amplify push”?
        有关更多信息,请参阅 https://aws-amplify.github.io/docs/js/authentication#amplify-project-setup
  1. AWS Amplify 在此处有一篇关于 SSR 支持的文章:AWS Amplify 的 SSR 支持 在 那里您可以找到启用 SSR 和检查用户身份验证的代码

  2. 在 Nuxt.js 文档中,您可以找到:

在通用模式下,中间件将在服务器端(对 Nuxt 应用程序的第一个请求,例如直接访问应用程序或刷新页面时)和客户端导航到进一步路由时调用一次。

好的,所以我在我的 amplify 插件中启用了 SSR 并调整了中间件:

if (process.server) {
const { Auth } = withSSRContext(context.req)
try {
  await Auth.currentAuthenticatedUser()
} catch (error) {
  return context.redirect(302, '/auth/signin')
}
Run Code Online (Sandbox Code Playgroud)

}

当我刷新页面时,代码会被执行,但我总是收到“未验证”错误和“Amplify 未正确配置”。另一方面,在客户端(登录、注册等)一切正常

有什么想法吗?我找不到解决办法...

亲切的问候

server-side-rendering nuxt.js amplify

5
推荐指数
1
解决办法
419
查看次数

如何使用 Cypress 测试 AWS Amplify Angular Authenticator 组件?

我希望能够在像这样的 cypress 测试中将测试输入“键入”到 AWS Amplify Authenticator 组件(amplify-authenticator)中:

describe('My Authenticator Test', () => {
  it('should let me type in the username field', () => {
    cy.visit('http://localhost:8100/');

    cy.get('amplify-authenticator')
      .find('input#username')
      .type('sample@example.com');
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,即使我可以检查元素并看到它:

在此处输入图片说明

Cypress 测试无法找到输入字段。

如何使用赛普拉斯访问“用户名”字段(以及其他类似字段)?

testing amazon-web-services angular cypress amplify

2
推荐指数
1
解决办法
340
查看次数

React 图像在本地加载,但不在 AWS Amplify 上加载

嗨,我正在使用一个检索图像 URL 的 API。然后我尝试将该 URL 传递到一个标签中,如下所示:

<img class="img-fluid" src={this.state.representatives[i].pic}/>
Run Code Online (Sandbox Code Playgroud)

在当地我遇到了

本地服务器

但是当我尝试在 AWS Amplify 上使用该应用程序时,我遇到了:

在此处输入图片说明

我尝试将 URL 硬编码到应用程序中,但它返回相同的错误。我真的很困惑从这里去哪里。

例如,从 Mark Warner 的 API 中提取的图像 URL 是http://bioguide.congress.gov/bioguide/photo/W/W000805.jpg

我知道我不会在本地加载这个 URL 时弄乱它。我在某处犯了一个简单的错误吗?

javascript amazon-web-services ecmascript-6 reactjs amplify

2
推荐指数
2
解决办法
1219
查看次数

Amplify 和 AppSync 不更新来自多个来源的变异数据

我一直在尝试与 AppSync/GraphQL 进行交互:

  • Lambda - 创建(有效)更新(不更改数据)
  • Angular - 收到创建/更新订阅,但对象为空
  • Angular - 欺骗更新(不改变数据)
  • AppSync 控制台 - 欺骗更新(不更改数据)

邮政:

mutation MyMutation {
  updateAsset(input: {
      id: "b34d3aa3-fbc4-48b5-acba-xxxxxxxxxxx",
      owner: "51b691a5-d088-4ac0-9f46-xxxxxxxxxxxx",
      description: "AppSync"
    }) {
    id
    owner
    description
  }
}
Run Code Online (Sandbox Code Playgroud)

回复:

{
  "data": {
    "updateAsset": {
      "id": "b34d3aa3-fbc4-48b5-acba-xxxxxxxxxx",
      "owner": "51b691a5-d088-4ac0-9f46-xxxxxxxxxxx",
      "description": "Edit Edit from AppSync"
  }
}
Run Code Online (Sandbox Code Playgroud)

每次我发送查询时,DynamoDB 中的版本都会自动递增。但描述仍与最初设定的相同。

架构上的身份验证规则 -

@auth(
    rules: [
        { allow: public, provider: apiKey, operations: [create, update, read] },
        { allow: private, provider: userPools, operations: [read, create, update, delete] } …
Run Code Online (Sandbox Code Playgroud)

amazon-dynamodb graphql aws-appsync amplify

2
推荐指数
2
解决办法
1194
查看次数