Yii2 RESTful Web 服务 授权认证和 Ajax 跨域配置问题

2017-09-29 15:34:05 +08:00
 kanganxi

开发 api 接口,做了 HttpBearerAuth 授权登陆之后,ajax 请求跨域,我的配置如下:

控制器配置如下:

 public function behaviors()
        {
            return ArrayHelper::merge(parent::behaviors(), [
            // 授权验证
            'authenticator' => [
                'class' => HttpBearerAuth::className(),
                'optional' => [
                    'login',
                    'signup',
                ],
            ],
                'corsFilter'  => [
                    'class' => \yii\filters\Cors::className(),
                    'cors'  => [
                        'Origin' => ['*'],
                        'Access-Control-Request-Headers' => ['authorization'],
                    ],
                ],
        ]);
        }

目前是只要需要登陆授权的请求,通过 ajax 请求都会出现跨域,并提示 cors 预检未通过,我的通过请求头 Authorization 来传递 token ;授权采用的是 HttpBearerAuth 方式

请知道的 V 友麻烦回答一下,小弟感激不尽,

4380 次点击
所在节点    PHP
2 条回复
alinwu05
2017-09-30 13:58:05 +08:00
其实就是 Yii2 怎么处理跨域的问题。我写过一篇文章关于这个,有空看看就懂了: https://my.oschina.net/u/248080/blog/875243
kanganxi
2017-09-30 15:19:00 +08:00
@alinwu05 非常感谢您的回复,看到你的文章之后豁然开朗了,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/394619

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX