我们正在尝试仅将amplify用于其库中的react组件。但是据我们了解,Amplify更像是一种无服务器的后端配置工具amplify-cli
,请参阅https://aws-amplify.github.io/docs/js/react
我们可以使用我们自己的后端配置,例如serverless.com
答案 0 :(得分:1)
是的!使用npm
安装软件包,并遵循React应用程序中的JavaScript文档。
npm i aws-amplify --save
这是我使用Cognito和API网关的配置:
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
来授权端点使用。