当我尝试执行命令以获取开发人员身份时,我收到错误.我的系统包含登录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函数时,我收到错误"此标识池不支持指定的开发人员提供程序."
任何人都可以建议我可能的错误原因?预先感谢,
抛出该异常的原因有两个:
您尚未为开发人员身份验证的身份配置身份池.
您链接到池的提供程序名称不是您为请求提供的名称.
如果您从未设置身份池来管理此功能,则可以通过Cognito控制台执行此操作.转到相关池,编辑池,然后在那里配置它.如果有,那么提供者名称可能与您设置池的名称不完全匹配.