重定向如何携带cookie

起因

最近在做微信开放平台,需要给第三方入住,而且入住方都有自己的二级域名。做过微信开发的人都知道,坑爹的是微信并不支持这种二级域名的方式,所以用一个域名专门来处理。

问题

然后由于采用了一个专门的域名来做授权,这样重定向到其它域名时,就会出现不能携带cookie的问题。当然把登录后的参数放到url里可以解决这个问题,但是这样复制出来的url,就会
带有用户的信息了。

解决办法

通过查阅资料发现,如果是相同域名和path,重定向是可以携带cookie的,于是想到了下面的方法。

重定向代理

授权后,先跳到对应域名的重定向代理,在重定向代理里解析带过的参数,然后设置好cookie后,跳转到目标url。
注意cookie的domain,path,httponly等参数。

原文地址:https://www.cnblogs.com/xdao/p/redirect_with_cookie.html

时间: 2024-10-10 03:52:17

重定向如何携带cookie的相关文章

fetch默认不携带cookie

最近在使用fetch向服务器发送请求,过程中的体会和遇到的问题在这里记录一下. fetch返回的是一个Promise对象,我们可以对返回的结果做进一步的处理,这是与传统ajax的一个区别. 简单的请求写法如下: fetch(url) .then(res => res.json()) .then(json => { console.log(json); }) 也可以设置method.headers.body等参数,详见fetch api. ----------------------------

vue resource 携带cookie请求 vue cookie 跨域(六)

1.依赖VueResource  确保已安装vue-resource到项目中,找到当前项目,命令行输入: npm install vue-resource --save 在主方法添加 过滤 Vue.http.interceptors.push(function(request, next) {//拦截器 // 跨域携带cookie request.credentials = true; next() }) 以下是针对每个请求都会携带cookie ,也可以指定接口请求携带cookie this.$

iOS-WKWebView携带cookie发送http请求,cookie失效

发送请求代码: NSString *testUrl = @"http://10.22.122.7:8081/test2_action/view_index"; NSURL *url = [NSURL URLWithString:testUrl]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy tim

ajax 跨域无法携带cookie 解决办法

ajax 跨域无法携带cookie,需要用到session,终于完美结局 xhrFields: { withCredentials: true }, 添加这个可能是大家都会做的一件事 但是添加上了之后就出现了另外一个问题 The 'Access-Control-Allow-Origin' header contains the invalid value 'Origin'. Origin ...... 2.服务器server端要配置Access-Control-Allow-Credentials

python 携带cookie获取页面内容

有时会遇到爬取的页面需要登录,这就要带上cookie了. 下面记录了几种携带cookie的方法 # coding=utf-8 import requests s = requests.Session() login_data = {'username': 'teacher', 'password': 'teacher'} # 方法1 # resp1 = s.post('http://192.168.2.132/login/', data=login_data) # r = s.get('http

vue resource 携带cookie请求 vue cookie 跨域

vue resource 携带cookie请求 vue cookie 跨域 1.依赖VueResource 确保已安装vue-resource到项目中,找到当前项目,命令行输入: npm install vue-resource --save 在主方法添加 过滤 Vue.http.interceptors.push(function(request, next) {//拦截器 // 跨域携带cookie request.credentials = true; next() }) 以下是针对每个请

【计算机网络】如何让Ajax通信过程携带Cookie呢?

Ajax 1. 介绍一下ajax并代码实现 1.1 基本概念 JavaScript 和XML(Asynchronous JavaScript And XML).简单点说,就是使用 XMLHttpRequest 对象与服务器通信. 它可以使用JSON,XML,HTML和text文本等格式发送和接收数据.AJAX最吸引人的就是它的"异步"特性,也就是说他可以在不重新刷新页面的情况下与服务器通信,交换数据,或更新页面. Ajax | MDN 1.2 创建一个简单的Ajax 创建 XMLHtt

vue get/post请求如何携带cookie的问题

一: 只需要在main.js中写这三行代码即可 import axios from 'axios' axios.defaults.withCredentials=true;//让ajax携带cookie Vue.prototype.$axios = axios; 如果cookie携带不过去的话,请求响应的时候他会报错显示登陆过期的呦!!! 顺便说一下原生js携带cookie的方法: xhrFields: {               withCredentials: true         

前端Jquery-Ajax跨域请求,并携带cookie

目录 1. 需现在服务端允许跨域,允许携带cookie 2. 前端Ajax跨域请求代码 1. 需现在服务端允许跨域,允许携带cookie 因服务端脚本语言不同,自行搜索设置 2. 前端Ajax跨域请求代码 $.ajax({ type: "POST", url: "http://127.0.0.1:8000/api/login", data: JSON.stringify({'num': 1}), dataType: 'json', xhrFields: { with