5

我无法让 AWS Amplify 对我的 AWS Cognito 设置进行身份验证。我使用以下代码进行设置。

import Amplify from 'aws-amplify-react-native';
import { Auth } from 'aws-amplify-react-native';

Amplify.configure({
    Auth: {
        IdentityPoolId: 'us-west-2:XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
        region: 'us-west-2',
        UserPoolId: 'us-west-2_XXXXXXXX',
        ClientId: 'XXXXXXXXXXXXXXX'

    }
});

和此代码登录

Auth.signIn(this.state.username, this.state.password)
.then(user => console.log(user))
.catch(err => console.log(err)); //"No userPool" logged here

但是我收到错误No userPool记录为错误。

此处的示例:https ://github.com/aws/aws-amplify/blob/master/media/authentication_guide.md有一些以小写字母开头的配置属性,但是当我跟随时,我得到了红屏。

4

2 回答 2

5

这只是错误的配置。指南中的示例是:

import Amplify from 'aws-amplify';

Amplify.configure({
    Auth: {
        identityPoolId: 'XX-XXXX-X:XXXXXXXX-XXXX-1234-abcd-1234567890ab', //REQUIRED - Amazon Cognito Identity Pool ID
        region: 'XX-XXXX-X', // REQUIRED - Amazon Cognito Region
        userPoolId: 'XX-XXXX-X_abcd1234', //OPTIONAL - Amazon Cognito User Pool ID
        userPoolWebClientId: 'XX-XXXX-X_abcd1234', //OPTIONAL - Amazon Cognito Web Client ID
    }
});
于 2017-11-29T20:22:03.847 回答
0

我通过 AWS 代码解决了这个问题,userPoolWebClientId 是必需的,正如 Richard Zhang 上面指出的那样,我使用了错误的属性。

于 2017-11-29T20:55:29.853 回答