为了账号安全,请及时绑定邮箱和手机立即绑定

解决PHP中缺少“授权”请求标头的问题

解决PHP中缺少“授权”请求标头的问题

PHP
慕姐4208626 2021-04-06 17:19:53
我目前正在为一个uni项目开发PHP REST API,该项目使用通过PhoneGap从移动Web应用程序传递的JSON Web令牌,或者在开发过程中使用我的桌面。当使用ajax将令牌发送到我的服务器页面“ friends / read.php”时,服务器使用以下命令正确获取了Authorization标头$headers = getallheaders();$authHeader = $headers['Authorization'];但在多次成功运行后停止这样做。此后,将不再提取标头。我的请求代码如下:$.ajax({    url: "http://localhost/chordstruck/api/friends/read.php",    type: "GET",    beforeSend: function (request) {        request.setRequestHeader('Authorization', 'Bearer ' + localStorage.getItem('jwt'));    },    datatype: "json",    success: function (response) {        console.log(response);    },    error: function (jqXHR, textStatus, errorThrown) {        console.log(jqXHR);    }});奇怪的是,当使用die(“ test”)过早地杀死PHP脚本,然后再次删除die()时,服务器将开始为多个请求选择Authorization标头。Read.php:<?phperror_reporting(E_ALL);ini_set('display_errors', 'on');header('Access-Control-Allow-Origin: *');header('Access-Control-Allow-Methods: GET');header('Access-Control-Allow-Headers: Origin, Content-Type, Authorization, X-Auth-Token');$config = require_once '../config/core.php';require_once '../config/jwt_helper.php';// get database connectioninclude_once '../config/database.php';// instantiate profile objectinclude_once '../objects/profile.php';$headers = getallheaders();$authHeader = $headers['Authorization'];$token;if ($authHeader) {    list($jwt) = sscanf((string)$authHeader, 'Bearer %s');    if ($jwt) {        try {            $key = $config['jwt_key'];            $token = JWT::decode($jwt, $key, array('HS512'));        } catch (Exception $e) {            header('HTTP/1.0 401 Unauthorized');            exit();        }    } else {        header('HTTP/1.0 400 Bad Request');        exit();    }} else {    header('HTTP/1.0 400 No Header Found');    exit();}echo "success";?>我在开发此项目时遇到了CORS问题,我在.htaccess文件中与上面的标头以及下面的标头对立了:<IfModule mod_headers.c>    Header set Access-Control-Allow-Origin "*"</IfModule>可能与之相关吗?任何帮助/想法将不胜感激!
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 210 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信