Я работаю над проектом, где у меня есть сервер. Сервер подключается к Amazon-Cognito для получения Identity Id и токена. вот мой код PHP
test.php:
include 'aws.phar';
//require 'vendor/autoload.php';
use Aws\CognitoIdentity\CognitoIdentityClient;
use Aws\Sts\StsClient;
use Aws\Credentials\Credentials;
use Aws\S3\S3Client;
echo "OK";
$Client = CognitoIdentityClient::factory(array(
'version' => 'latest',
'profile' => 'project1',
'region' => 'ap-northeast-1'
));
$result = $Client->getOpenIdTokenForDeveloperIdentity(array(
'IdentityPoolId' => 'xxxxxxxxxxxx',
'Logins' => array(
'login.blupinch.app' => 'sandesh-004',
),
'TokenDuration' => 3600,
));
echo $token = $result['Token'];
//echo null;
Когда я открыл браузер и набрал URL-адрес сервера, я мог видеть только «ОК», но не значение $token
, Интересно, что я мог видеть «ОК» и $token
Значение, если я делаю это из командной строки:
php test.php
Почему это происходит?
Почему я не вижу ценности $token
?
ОБНОВИТЬ:
когда я запускаю «php test.php». Я вижу эхо токена.
ubuntu @ ip-172-31-30-222: / var / www / html $ php test.php
OKeyJraWQiOiJhcC1ub3J0aGVhc3QtMTEiLCJ0eXAiOiJKV1MiLCJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJhcC1ub3J0aGVhc3QtMToxMmJiZTJjOS0zMDZkLTRmY2ItOGY4Mi0yZmNlNjc3NmE1NjQiLCJhdWQiOiJhcC1ub3J0aGVhc3QtMTphODcxZmE1Zi0yM2EyLTQ4MGQtYmFhNi1iNGVkMzE0MzcyNDQiLCJhbXIiOlsiYXV0aGVudGljYXRlZCIsImxvZ2luLmJsdXBpbmNoLmFwcCIsImxvZ2luLmJsdXBpbmNoLmFwcDphcC1ub3J0aGVhc3QtMTphODcxZmE1Zi0yM2EyLTQ4MGQtYmFhNi1iNGVkMzE0MzcyNDQ6c2FuZGVzaC0wMDQiXSwiaXNzIjoiaHR0cHM6Ly9jb2duaXRvLWlkZW50aXR5LmFtYXpvbmF3cy5jb20iLCJleHAiOjE0NTQ2ODczMzcsImlhdCI6MTQ1NDY4MzczN30.BSTYTw8bk27vuqHaElIjC1KdncJpQHQXpqJr3--eKGOIi1vq8rpTGuljm2XjNInCXvjjMTLxaG8ZN-gUHYdZGcvK6Bm9ts1Y_BPfOflVKjRU3rxemmY24gOQeb1xI0No6nvyhJW6MpkoOF2fGWmr79mL0J0PnepOQ4HxG_HJ6yGdrvRypFjDM7g7kLXvETeEYrJeDdvnYuoeh1sqRn7RkA9eea_5pq8Sbgk5bXhF1RUhLF_6pi-YMIu52-lLFZdbA0LxGTWrIKvZY-KhsKSBLt_A5ek52pXQSPJUcBFOVWgajVqpdBB7i-ls1IjLth0baLtCXgk1qsq52kDKWqvR6g
Используя код
echo $token = $result['Token'];
Вы просто выводите логический результат присваивания значения $ result [‘Token’] для $ token. Похоже, вы должны ссылаться на «TokenDuration»
Вы должны сделать это
$token = $result['TokenDuration'];
echo $token;
Не будет ли это выводить истину, которая была бы ничем.
echo $token = $result['Token'];
echo $token = !empty($result['Token']) ? $result['Token'] : "Token is empty";