这个问题通常是因为缺少身份验证令牌或令牌已过期而导致的。要解决这个问题,可以通过以下方式进行身份验证:
import { Auth } from 'aws-amplify';
Auth.currentSession()
.then(data => {
const token = data.accessToken.jwtToken;
const graphqlQuery = `query MyQuery {
...
}`;
return API.graphql({
query: graphqlQuery,
headers: {
Authorization: token,
}
});
})
.catch(error => console.log(error));
import { withAuthenticator } from '@aws-amplify/ui-react'
import { API } from 'aws-amplify'
const App = () => {
// 在组件的 render 方法中使用 API.graphql 进行查询或 mutation 请求
// 该请求会自动带上当前已登录用户的身份验证令牌
return (
...
)
}
export default withAuthenticator(App);
采取以上步骤后,您应该能够成功完成 graphql 查询或 mutation 请求并避免身份验证错误。