错误:此标识池不支持指定的开发人员提供程序

时间:2015-12-08 12:50:09

标签: amazon-web-services amazon-dynamodb amazon-cognito

当我尝试执行命令以获取开发者身份时,我收到错误。我的系统包含登录facebook和自定义注册/登录以及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函数时出现错误“此标识池不支持指定的开发人员提供程序。”

任何人都可以建议我可能的错误原因??提前谢谢,

1 个答案:

答案 0 :(得分:5)

出于以下两个原因之一抛出该异常:

  • 您尚未为开发人员身份验证身份配置身份池。
  • 您链接到您的池的提供商名称不是您为该请求提供的名称。

如果您从未设置身份池来管理此功能,则可以通过Cognito控制台执行此操作。转到相关池,编辑池,然后在那里配置它。如果有,那么提供者名称可能与您设置池的名称不完全匹配。