惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
N
Netflix TechBlog - Medium
WordPress大学
WordPress大学
云风的 BLOG
云风的 BLOG
J
Java Code Geeks
V
Visual Studio Blog
H
Help Net Security
Engineering at Meta
Engineering at Meta
Hugging Face - Blog
Hugging Face - Blog
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC
博客园 - 【当耐特】
B
Blog
Stack Overflow Blog
Stack Overflow Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
大猫的无限游戏
大猫的无限游戏
GbyAI
GbyAI
博客园 - 司徒正美
博客园 - 叶小钗
Y
Y Combinator Blog
MyScale Blog
MyScale Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
G
Google Developers Blog
酷 壳 – CoolShell
酷 壳 – CoolShell

陈少文的网站

巨变与机遇的未来十年 Kubernetes 平台管理软件压力测试方案 使用镜像部署 Hexo 静态页面 终于等到你 - GitHub 镜像仓库服务(ghcr.io) 一起来学 Go --(6)Interface 一起来学 Go --(5)Goroutine 和 Channel 什么是函数式编程 如何在 Kubernetes 集群集成 Kata 柯里化与偏函数 使用 PyGithub 自动创建 Label 软件产品是团队能力的输出 Helm 2 、Helm 3 比较 IoT 变现 Kubernetes 中的 DNS 服务 国内的 Helm 镜像源 Harbor 使用自签证书支持 Https 访问 DevOps 工具链之 Prow 如何使用 kfctl 安装 Kubeflow VS Code 无法下载 Go 插件的工具包 工程师更应具有服务精神 你不知道的 Docker 使用技巧 使用 Docker 运行 Tensorflow 论中国 什么是左移 如何清空 Git 仓库全部历史记录 一禅小和尚 有风吹过厨房 时间的玫瑰 如何在 CentOS 安装 GPU 驱动 开发 Tips(19)
第三方登录和单点登录简介
微信公众号 · 2017-05-05 · via 陈少文的网站

Please enable Javascript to view the contents

第三方登录和单点登录简介

登录的会话机制: http 是无状态协议,浏览器的每次请求都是相互独立。但并不是每次 http 请求都与状态无关,为此,浏览器和服务器需要共同维护一个状态,这就是会话机制。一种方法是,浏览器第一次向服务器发起请求,服务器会将浏览器返回 sessionID,后续浏览器的每次请求都会带上 sessionID 以验证同一用户。还有一种方法是,服务器通过发放 token,用于用户认证、App授权。本文主要介绍两种常见的登录方式:第三方登录和单点登录(SSO)。

1. 第三方登录

用户(一方)利用已有账号(第三方)快速完成登录注册其他网络服务(另一方),称之为第三方登录。提供ID的服务称之为,IdP(Identifier Provider,身份提供商)。提供其他服务的称之为 SP(Service Provider,服务提供商)。

1.1 优缺点

优点:

  1. 减少用户注册成本
  2. 维持已有的用户关系
  3. 降低开发和维护成本

缺点:

不利于营销信息的传达,无法获取到用户手机、邮箱等信息。

1.2 使用场景

适用于工具、内容提供的应用。

1.3 实现方案

OAuth2.0

2. 单点登录

用户只需要登录一次就可以访问所有相互信任的应用系统。 它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制,是目前比较流行的企业业务整合的解决方案之一。

2.1 优缺点

优点:

  1. 统一的用户信息中心
  2. 减少了子系统开发登录工作

缺点:

  1. 难重构
  2. 安全风险。已登录账户,可以随意登录其他站点。
  3. 容易被选为攻击对象。

2.2 使用场景

适用于具有多站点的大企业,特别是公司内部系统复杂多样的系统。

2.3 实现方案

共享Cookie:
子系统都在一个父级域名下时,将 Cookie 种在父域下,通过 Cookie 获取 SessionID。子系统域名有限制。这种方式,其实可以看做是共享 session。

Token 验证:
子系统需要登录时,引导至 SSO 页面登录,下发 token,子系统通过 token,调用 SSO 获取用户信息。

3. 参考


微信公众号