Ajax 请求 passport 需要 Authorization 认证失败
dingo + passport开发接口,ajax跨域请求,如果是不需要登录认证的接口请求都没问题,如果是需要登录认证的接口请求失败,已增加cors中间件:
public function handle(Request $request, Closure $next)
{
header('Content-Type: text/html;charset=utf-8');
header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:POST,GET,PUT,OPTIONS,DELETE'); // 允许请求的类型
header('Access-Control-Allow-Credentials: false'); // 设置是否允许发送 cookies
header('Access-Control-Allow-Headers: Accept,Connection,User-Agent,Cookie,Token,Authorization,Content-Type,Access-Control-Allow-Origin,Access-token,Content-Length,Accept-Encoding,X-Requested-with,Origin,Access-Control-Allow-Methods'); // 设置允许自定义请求头的字段
return $next($request);
}
ajax代码:
$.ajax({
type: 'POST',
url: 'http://api.laravelpassport.com.local/api/v1/user/info',
data: {'param':$encryptData},
cache: false,
async: true,
dataType: 'json',
headers: {
"Accept": "application/json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Bearer " + $token
},
beforeSend: function(request) {
//request.setRequestHeader("X-Mobile", "false");
//request.setRequestHeader("Authorization", 'Bearer ' + $token);
//request.setRequestHeader("Authorization", "Bearer "+$token);
},
success: function(data) {
$('#success').html("接口返回数据:"+JSON.stringify(data));
},
complete: function() {
},
error: function() {
}
});
啥情况呢?有人遇到么?
失败的信息呢
@blinknull
@gxcnvip 跨域请求这是
@GalaxyNo_1 问题是PHP跨域请求成功,ajax就失败