suchen

Heim  >  Fragen und Antworten  >  Hauptteil

vue.js – Laravel Axios-Cookie-Problem mit domänenübergreifenden Anfragen

Unter Laravel wurde die Subdomain Routing api.service.dev erstellt, die ich zur Authentifizierung verwendet habepassport,启用了CreateFreshApiToken.

Das laravel_token kann normalerweise unter dem Domainnamen

service.dev abgerufen werden und bei der Anfrage https://api.service.dev/user wird 401 Unauthenticated angezeigt.

Überprüfen Sie, dass der Anforderungsheader nicht das von CreateFreshApiToken erstellte laravel_token Cookie enthält

Könnten Sie mir bitte sagen, wie ich das Problem lösen kann?

仅有的幸福仅有的幸福2755 Tage vor2680

Antworte allen(2)Ich werde antworten

  • 世界只因有你

    世界只因有你2017-05-16 16:49:15

    1、安装barryvdh/laravel-cors

    安装方法请移步https://github.com/barryvdh/l...

    2、配置cors.php

    return [
        /*
         |--------------------------------------------------------------------------
         | Laravel CORS
         |--------------------------------------------------------------------------
         |
         | allowedOrigins, allowedHeaders and allowedMethods can be set to array('*')
         | to accept any value.
         |
         */
        'supportsCredentials' => true,
        'allowedOrigins' => ['*'],
        'allowedHeaders' => ['*'],
        'allowedMethods' => ['*'],
        'exposedHeaders' => [],
        'maxAge' => 0,
    ];

    3、配置session的domain

    在.env文件中添加SESSION_DOMAIN=.xxx.com,我这里是service.dev,所以应该填写.service.dev,这样所有service.dev的子域名都能共享Cookie

    4、最后配置前端的请求

    bootstrap.js中加入如下代码

    window.axios.defaults.withCredentials = true;

    这样就能正常访问跨域api了!!!

    Antwort
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 16:49:15

    axios配置了withCredentials = true后在chrome下没问题。
    但IE下还需要服务器端配置P3P的响应头。。。IE就是这么有个性

    Antwort
    0
  • StornierenAntwort