【发布时间】:2018-05-09 05:09:28
【问题描述】:
我正在使用 php 开发一个 Web 应用程序。我将用户凭证存储在 AWS cognito 服务上。我正在使用 PHP sdk 将用户登录到 Cognito。我成功开发了该功能。我在我的机器上本地测试它,它工作正常。然后我将它部署到登台服务器上,它也在登台服务器上工作。但是当我将它部署到实时服务器时。它给了我这个错误。
(1/1) CredentialsException
Error retrieving credentials from the instance profile metadata server. (cURL error 7: Failed to connect to 169.254.169.254 port 80: Connection refused (see http://curl.haxx.se/libcurl/c/libcurl-errors.html))
这是我的代码
try{
$client = new CognitoIdentityProviderClient([
'version' => 'latest',
'region' => 'eu-west-2'// env('AWS_REGION', '')
]);
$result = $client->adminInitiateAuth([
'AuthFlow' => 'ADMIN_NO_SRP_AUTH',
'ClientId' => COGNITO_APP_CLIENT_ID,
'UserPoolId' => COGNITO_USER_POOL_ID,
'AuthParameters' => [
'USERNAME' => $request->email,
'PASSWORD' => $request->password,
],
]);
$auth_result = $result->get('AuthenticationResult');
$cognito_access_token = $auth_result['AccessToken'];
if(!empty($cognito_access_token))
{
//register the user
$reg_user = $this->accRepo->register($request);
if($reg_user)
{
Auth::login($reg_user);
$token = $reg_user->createToken($this->tokenTag)->accessToken;
unset($reg_user->password);
return response()->json([ 'success' => true, 'access_token' => $token, 'account' => $reg_user ], SUCCESS_RESPONSE_CODE);
}
}
}
catch(Exception $e)
{
}
我使用确切的代码、设置和凭据作为本地计算机和实时服务器的登台服务器。但它不适用于实时服务器。在其他环境中工作。请问,可能是什么错误?我正在 Heroku 上部署它。
【问题讨论】:
标签: php amazon-web-services aws-cognito