V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kanganxi
V2EX  ›  PHP

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

  •  
  •   kanganxi · 2017-09-29 15:34:05 +08:00 · 4491 次点击
    这是一个创建于 2640 天前的主题,其中的信息可能已经有所发展或是发生改变。

    开发 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 友麻烦回答一下,小弟感激不尽,

    2 条回复    2017-09-30 15:19:00 +08:00
    alinwu05
        1
    alinwu05  
       2017-09-30 13:58:05 +08:00   ❤️ 1
    其实就是 Yii2 怎么处理跨域的问题。我写过一篇文章关于这个,有空看看就懂了: https://my.oschina.net/u/248080/blog/875243
    kanganxi
        2
    kanganxi  
    OP
       2017-09-30 15:19:00 +08:00
    @alinwu05 非常感谢您的回复,看到你的文章之后豁然开朗了,
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2655 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 10:04 · PVG 18:04 · LAX 02:04 · JFK 05:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.