Можем ли мы использовать AWS усилитель только для своей библиотеки реагирования (компонентов), но не для бэкэнда cli? - PullRequest
1 голос
/ 21 апреля 2019

Мы пытаемся использовать усиление только для реагирующих компонентов в своей библиотеке.Но, как мы понимаем, Amplify - это скорее серверный инструмент конфигурации бэкэнда amplify-cli, см. https://aws -amplify.github.io / docs / js / реаги

Можем ли мы использовать нашсобственная конфигурация бэкэнда, такая как serverless.com

1 Ответ

1 голос
/ 22 апреля 2019

Да!Установите пакет, используя npm и следуйте документации JavaScript в вашем приложении React.

npm i aws-amplify --save

Вот моя конфигурация для использования Cognito и API Gateway:

import Amplify, { Auth } from 'aws-amplify'

Amplify.configure({
  Auth: {
    region: process.env.AWS_REGION,
    identityPoolId: process.env.IDENTITY_POOL_ID,
    userPoolId: process.env.USER_POOL_ID,
    userPoolWebClientId: process.env.USER_POOL_CLIENT_ID,
    mandatorySignIn: true
  },
  API: {
    endpoints: [
      {
        name: 'API',
        endpoint: process.env.API_URL,
        region: process.env.AWS_REGION,
        custom_header: async () => (
          { Authorization: `Bearer ${(await Auth.currentSession()).idToken.jwtToken}` }
        )
      }
    ]
  }
})

Это позволяет вам вызыватьваши конечные точки серверного сервера, например, так:

import { API } from 'aws-amplify'

const data = await API.get('API', '/posts')

Конфигурация JWT позволяет вашим конечным точкам без сервера использовать тип авторизатора COGNITO_USER_POOLS для авторизации использования конечной точки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...