当我尝试执行命令以获取开发者身份时,我收到错误。我的系统包含登录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函数时出现错误“此标识池不支持指定的开发人员提供程序。”
任何人都可以建议我可能的错误原因??提前谢谢,
答案 0 :(得分:5)
出于以下两个原因之一抛出该异常:
如果您从未设置身份池来管理此功能,则可以通过Cognito控制台执行此操作。转到相关池,编辑池,然后在那里配置它。如果有,那么提供者名称可能与您设置池的名称不完全匹配。