2019-04-25 14:19:13 1974次浏览 1条回答 0 悬赏 100 金钱

使用 rest api 的时候 跨域 HttpBearerAuth 认证401会出现如下情况

err.png
本地调用正常得到401

跨域请求api接口
e2.jpg
e3.jpg

没有response headers,也没有内容

如果认证通过可以正常获取数据

怀疑存在的问题 HttpBearerAuth认证不通过时候返回的错误信息的数据不是return正常的json数据

请问有人知道这个问题如何解决吗?

补充于 2019-04-29 17:23

https://github.com/yiisoft/yii2/issues/6254

这应该就是一个bug
我在配置文件中加入

'response' => [
    'class' => 'yii\web\Response',
    'on beforeSend' => function ($event) {
        header("Access-Control-Allow-Origin: *");
    }
]

就可以了

  • 回答于 2019-04-28 17:50 举报

    是服务器端那边的配置问题,如果服务器那边不允许跨站的话,是不接收自定义头的,也就是说你的Authorization是被服务器那边过滤过了,所以Yii这边为空,就报401了

您需要登录后才可以回答。登录 | 立即注册
acking
总监

acking 上海

注册时间:2012-05-16
最后登录:5小时前
在线时长:65小时50分
  • 粉丝13
  • 金钱2565
  • 威望0
  • 积分3215

热门问题