什么是用户池的 CognitoIdentityCredentials?

What's the equivalent of CognitoIdentityCredentials for user pool?

我在 Cognito 中有一个用户池,现在我正在关注 https://github.com/aws-amplify/amplify-js/tree/main/packages/amazon-cognito-identity-js 以验证用户身份。顺便说一句,我没有使用 Amplify。

然而在上面link,我只能看到身份池的身份验证示例。

AWS.config.credentials = new AWS.CognitoIdentityCredentials({
    IdentityPoolId: '...', // your identity pool id here
        Logins: {
                // Change the key below according to the specific region your user pool is in.
                'cognito-idp.<region>.amazonaws.com/<YOUR_USER_POOL_ID>': result
                    .getIdToken()
                    .getJwtToken(),
            },
        });

我无法在上面的代码中将 IdentityPoolId 切换为 UserPoolId,我也没有在 aws-sdk.

中找到 CognitoUserCredentials class

如何为用户池进行身份验证?

我认为 Cognito Identity JS 适用于身份池。这是登录用户池和检索令牌的 javascript 方法。 https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#initiateAuth-property

您正在寻找 authenticateUser 方法。

However in above link, I can only see example of authentication for identity pool.

此交换发生在用户在用户池中通过身份验证之后。它获取刚刚授予的 ID 令牌并将它们发送到 Cognito 身份池,该池使用 returns AWS 凭据直接访问 AWS 资源。如果您的应用程序不需要用户直接与 AWS 交互,那么第一步中的令牌就足够了。