Error : This identity pool does not support the specified developer provider

Error : This identity pool does not support the specified developer provider

当我尝试执行命令以获取开发人员身份时出现错误。我的系统包含使用 facebook 登录和自定义 registration/login 以及 aws.

这是我正在执行的步骤。

1) 注册:如果用户不可用,那么我注册用户并创建身份。

2) 将getId得到的身份传递给getOpenIdTokenForDeveloperIdentity()函数,通过开发者身份验证用户。

这是我的代码片段。

$GetIdentiyLib = AWS::get('CognitoIdentity');
                $result = $GetIdentiyLib->getId(array(
                    'AccountId' => 'xxxxx',
                    // IdentityPoolId is required
                    'IdentityPoolId' => 'xxxxxx',
                ));                

                $resultIdentity = $GetIdentiyLib->getOpenIdTokenForDeveloperIdentity(array(
                    // IdentityPoolId is required
                    'IdentityPoolId' => 'xxxxxx',
                    'IdentityId' => $result['IdentityId'],
                    // Logins is required
                    'Logins' => array(
                        // Associative array of custom 'IdentityProviderName' key names
                        'login.app' => 'custom',
                    // ... repeated
                    ),
                    'TokenDuration' => 1200,
                ));

当 运行 getOpenIdTokenForDeveloperIdentity 函数出现错误 "This identity pool does not support the specified developer provider."

谁能告诉我错误的可能原因??提前致谢,

抛出该异常的原因有两个:

  • 您尚未为经过开发人员验证的身份配置身份池。
  • 您链接到池的提供者名称与您为请求提供的名称不完全相同。

如果您从未设置身份池来管理它,则可以通过 Cognito 控制台进行管理。转到有问题的池,编辑池并在那里进行配置。如果有,则可能是提供商名称与您设置池的名称不完全匹配。