Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何验证服务器上的访问令牌_Php_Amazon Cognito - Fatal编程技术网

Php 如何验证服务器上的访问令牌

Php 如何验证服务器上的访问令牌,php,amazon-cognito,Php,Amazon Cognito,所以我想创建一个游戏,但我不想在我的服务器上存储用户敏感数据(由于新的法律…等等)。所以我想cognito可能会很好。我读了这篇关于可能的设置的文章。因此,我试图在客户端从cognito获取令牌时设置身份验证,然后服务器将允许用户调用某些函数(如果它可以验证该令牌) 一个让我困惑的是,在C++代码示例中,他们提供了通过调用GETUSERAPUTION SetAccessToken(Access)来验证客户端获得的Access令牌;设置并最终验证服务器上的令牌。嗯,在我的服务器中,我使用php,在

所以我想创建一个游戏,但我不想在我的服务器上存储用户敏感数据(由于新的法律…等等)。所以我想cognito可能会很好。我读了这篇关于可能的设置的文章。因此,我试图在客户端从cognito获取令牌时设置身份验证,然后服务器将允许用户调用某些函数(如果它可以验证该令牌)

<>一个让我困惑的是,在C++代码示例中,他们提供了通过调用GETUSERAPUTION SetAccessToken(Access)来验证客户端获得的Access令牌;设置并最终验证服务器上的令牌。嗯,在我的服务器中,我使用php,在sdk中找不到任何东西来设置这样的访问令牌(我在这里查看)。然而,在对从cognito验证access_令牌进行了一些研究之后,我发现了这篇文章。本文指出访问令牌只是JWT,您可以使用第三方JWT库来验证它们。所以我有点困惑。。。我应该在aws sdk中找到一个函数来验证服务器上的访问令牌,还是应该自己验证JWT?在C++示例中,服务器还设置了一个认知客户端,这是需要确保令牌在到期时刷新的吗?
感谢您的帮助。

您可以使用amazon PHP SDK中的
getUser
方法

例如:

$client=新CognitoIdentityProviderClient([
“版本”=>“2016-04-18”,
'区域'=>'',
]);
试一试{
$user=$client->getUser([
“AccessToken”=>“”,
]);
}catch(\Aws\CognitoIdentityProvider\Exception\CognitoIdentityProviderException$e){
var_dump($e);
}

非常感谢您!我仍在工作,但下班后我会尝试一下,看看是否有效,这样我就可以接受你的答案(我肯定会)。再次感谢你,你是救命恩人,不用担心。如果有任何问题,请告诉我。任何关于这方面的建议都会很好。我使用托管UI获得了访问令牌。然后我尝试用这个令牌执行这个代码。我收到此异常,Aws\exception\CredentialsException:从实例配置文件元数据服务检索凭据时出错。(cURL error 7:(请参阅))在C:\xampp\htdocs\demo\u cognito\u client\u app\vendor\aws\aws sdk php\src\Credentials\InstanceProfileProvider.php中:240