php跨域写入cookie ios,laravel axios跨域请求的cookie问题

在Laravel下创建了子域名路由api.service.dev,认证我是用的

passport

,启用了

CreateFreshApiToken

service.dev这个域名下可以正常获取laravel_token,并请求但是请求

https://api.service.dev/user

时提示401 Unauthenticated。

查看请求头中没有携带CreateFreshApiToken创建的

laravel_token

这个cookie

请问大神怎么解决?

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

axios配置了withCredentials = true后在chrome下没问题。

但IE下还需要服务器端配置P3P的响应头。。。IE就是这么有个性

be187344ad2841ef7a6e03da9f0ad9e8.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值