João, muito obrigado pela colaboração.
A minha questão e que EU estou desenvolvendo um Web Serve ou API, eu vou fornece os dados de uma consulta dentro dela.
Um cliente que vai consumir envia um token via Authorization bearer, so que quando vou conferir o headers (cabeçalho) enviado ele não apresenta o Authorization bearer.
Teste realizado via Postman:
Código:
header(“Content-type: application/json”);
$body = file_get_contents(“php://input”);
$query = $_SERVER[“QUERY_STRING”];
if($_SERVER[“REQUEST_METHOD”] == “GET”) {
switch($query) {
case "autent_Acesso":
echo request_permission($body);
break;
case "request_Data":
$headers = getallheaders();
var_dump(getallheaders());
if (!isset($headers['Authorization'])) {
echo 'Cabeçalho Authorization não encontrado';
exit;
} else {
$authorization_header = $headers['Authorization'];
if (strpos($authorization_header, 'Bearer ') === 0) {
echo 'Cabeçalho Authorization Bearer encontrado';
$token = substr($authorization_header, 7); // Remove "Bearer " do cabeçalho
echo 'Token: ' . $token;
} else {
echo 'Cabeçalho Authorization encontrado, mas não no formato Bearer';
exit;
}
}
$received_token = $token;
//$received_token = substr($authorization_header, 7); // Remove "Bearer " do cabeçalho
$decoded_token = json_decode(base64_decode($received_token), true);
echo "Aqui 01 - ".$authorization_header;
echo "Aqui 02 - ".$decoded_token;
if ($cdIdentidade == isset($decoded_token['user_id'])) {
$user_id = $decoded_token['user_id'];
// Verifique a validade do token, o tempo de expiração, etc.
if ($decoded_token['timestamp'] > time()) {
echo "Token expirado";
} else {
echo "Token válido para o usuário com ID " . $user_id;
}
} else {
echo "Token inválido";
}
echo request_dadosDoador($body);
break;
default:
echo json_encode(array(
"status" => 404,
"message" => "Método inexistente!"
));
break;
}
}