cookie 与 SSO 的两三事

news/2024/9/19 12:38:27 标签: 后端

前言

前面的文章记录了proxy代理后端接口,其实践过程中也不乏踩坑之处。

SSO单点登录

这里有一篇文章写得不错,分析了淘宝、天猫的登录场景(漫谈单点登录)。

COOKIE

关于cookie的知识自己搜,我这就不废话了。关键看请求的response headers ,上图(服务器发送一个Set-Cookie请求来创建本地cookie)

关于set-cookie

Set-Cookie: <cookie-name>=<cookie-value>; Domain=<domain-value>; Secure; HttpOnly;Path=<path-value>;Expires=<date>;Max-Age=<non-zero-digit>
复制代码
  • name=value: cookie键值对
  • Domain:存储域
  • Secure:在使用SSL或者https发出请求时,默认带上secure字段,cookie才会被设置
  • HttpOnly:无法通过js获取cookie,防止xss攻击
  • Path:存储路径
  • Expires:过期时间 (DD-Mon-YYYY HH:MM:SS GMT 日期格式)
  • Max-Age:过期时间 (以秒为单位,权限比expires大)

cookie中domain在单点登录中的使用

现在来假设两个网站

A: www.test.rab.com
B: www.rab.com

domain值对cookie获取的影响
1.将cookie设置在.rab.com的domain下,A与B都可以取得cookie值
2.将cookie设置在.test.rab.com的domain下,只有B能拿到cookie值

简单来说,就是父级域名下设置的cookie,其各个子域都可以获取到~~
之前踩得坑是将proxy代理的接口地址指向了https的地址,其set-cookie上带了secure字段,而我本地起的开发环境是http,基于安全机制无法将用于sso登录的cookie设置。后面的解决方法也很简单,我把proxy指向http的就行,无语。。。

转载于:https://juejin.im/post/5c7ce8d86fb9a049fc044071


http://www.niftyadmin.cn/n/1665939.html

相关文章

Katalon Studio 自动化测试工具介绍

前言 在软件测试这条道路上&#xff0c;大部分的职业技能发展道路都会是功能测试-> 自动化测试-> 性能测试-> 安全测试/测试开发。 但是却有着一部分人起初进入软件测试这一行看重的就是软件测试属于 IT 行业&#xff0c;门槛比较低&#xff0c;不需要代码基础。这就…

优秀的产品经理,必须翻越这三座大山

作为一个资深产品经理&#xff0c;这几年工作中遇到的挫折和收获&#xff0c;数也数不清。看到用户数的不断增长和好评我会犹如打了鸡血&#xff0c;听到伙伴的质疑和用户的指责我也会在回家地铁上默默掉眼泪&#xff0c;后悔当初的选择。对于新入行的童鞋&#xff0c;我这个老…

《深入理解计算机系统》使用指南

转自&#xff1a;https://book.douban.com/review/5627139/#comments Chapter 1 A Tour of Computer System 一个对计算机系统总体的介绍&#xff0c;简单明了。 应试 ★★★&#xff1a;可能在笔试中会有一些整体上的概念题。 修炼 ★: 属于计算机最基本的概念。 chapter 2 …

Node核心模块Http应用-防盗链

防盗链的原理是通过判断请求源地址的req的headers里面的host和referer进行判断&#xff0c;如果两个相等证明是同一个源下返回正确图片&#xff0c;不相同返回错误图片。 let fs require(fs);let path require(path);let url require(url);let http require(http);let whit…

web 自动化测试,一定得掌握的 8 个核心知识点

使用 cypress 进行端对端测试&#xff0c;和其他的一些框架有一个显著不同的地方&#xff0c;它使用 JavaScript 作为编程语言。传统主流的 selenium 框架是支持多语言的&#xff0c;大多数 QA 会的 python 和 Java 语言都可以编写 selenium 代码&#xff0c;遇到需要编写 js 代…

memset函数使用方法

将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值&#xff0c; 块的大小由第三个参数指定&#xff0c;这个函数通常为新申请的内存做初始化工作&#xff0c; 其返回值为指向S的指针。 需要的头文件在C中 <string.h>在C中 <cstring>更详细的解说…

JavaScript 九种跨域方式实现原理

前言 前后端数据交互经常会碰到请求跨域&#xff0c;什么是跨域&#xff0c;以及有哪几种跨域方式&#xff0c;这是本文要探讨的内容。 一、什么是跨域&#xff1f; 1.什么是同源策略及其限制内容&#xff1f; 同源策略是一种约定&#xff0c;它是浏览器最核心也最基本的安全功…

《深入理解计算机系统》笔记-信息的表示和处理

记录&#xff1a;如何缩放csdn中的图片&#xff1a;在#pic_center末尾加上50%x50%&#xff1b;#pic_left&#xff1a;左对齐。 视频地址&#xff1a;https://www.bilibili.com/video/BV1kE411X7S5?p16&spm_id_frompageDriver 文章目录二、信息的表示和处理1. 信息存储1.1…