vue.js - laravel axios跨域請求的cookie問題
仅有的幸福
仅有的幸福 2017-05-16 16:47:15
0
2
2646

在Laravel下建立了子網域路由api.service.dev,認證我是用的passport#,啟用了CreateFreshApiToken

service.dev這個網域下可以正常取得laravel_token,並請求但是請求https://api.service.dev/user 時提示401 Unauthenticated。

查看請求頭中沒有攜帶CreateFreshApiToken創建的laravel_token 這個cookie

請問大神怎麼解決?

仅有的幸福
仅有的幸福

全部回覆(2)
世界只因有你

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了! ! !

过去多啦不再A梦

axios配置了withCredentials = true後在chrome下沒問題。
但IE下還需要伺服器端設定P3P的回應頭。 。 。 IE就是這麼有個性

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!