gpt4 book ai didi

react-native - AWS-Amplify:此身份池不支持未经身份验证的访问

转载 作者:行者123 更新时间:2023-12-03 13:33:19 29 4
gpt4 key购买 nike

我正在使用:https://github.com/aws-amplify/amplify-js

是否有任何工作示例如何使用经过身份验证的 AWS 访问?我正在使用这个:

Amplify.configure({
Auth: {
identityPoolId: configs.broker.identityPoolId,
region: configs.broker.aws_pubsub_region,
userPoolId: configs.broker.userPoolId,
userPoolWebClientId: configs.broker.userPoolWebClientId,
}
});

Amplify.addPluggable(new AWSIoTProvider(configs.broker));

Auth.signIn(configs.broker.username, configs.broker.password)
.then(user => {
resolve({ code: 200, message: 'Authorized access to AWS is used' })
})
.catch(singInErr => resolve({ code: 500, message: singInErr.message }));

如果没问题(没问题):
    PubSub.publish(configs.broker.topic, JSON.stringify(data))
.then(res => resolve({
code: 200,
message: 'OK'
}))
.catch(err => resolve({
code: 500,
message: err.toString()
}));

但我不断得到:

[未处理的 promise 拒绝:NotAuthorizedException:此身份池不支持未经身份验证的访问。]

最佳答案

您是否使用 amplify-cli 设置了身份验证? ?我对 graphql 和 cognito 有类似的问题。通过转到身份池设置并设置 Unauthenticated role 来解决它和 Authenticated role .我刚刚使用了通过放大 cli 创建的那些。

我正在尝试从内存中记忆这一点,因此可能缺少某些部分。但粗略的步骤是:

  • 转至 https://eu-west-1.console.aws.amazon.com/cognito/federated
  • 从顶部栏中选择您所在的地区。
  • 如果您有身份池,您应该会看到一个表格。在它上方有一个指向其设置的链接。点击那个。
  • 在右上角,Support 下方有Edit Identity Pool .点击那个。
  • 您应该会看到一个带有两个选项的屏幕 Unauthenticated roleAuthenticated role .单击选择框并选择适当的角色。如果您创建了放大堆栈,它应该有两个角色,其中包含 unauthdRoleauthRole选择那些。

  • 它现在应该可以工作了。这是假设您拥有正确的身份池和用户池设置。

    关于react-native - AWS-Amplify:此身份池不支持未经身份验证的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52167619/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com