Teng's blog Teng's blog
首页
Java
H5前端
GitHub (opens new window)
首页
Java
H5前端
GitHub (opens new window)
  • 最简介绍
    • 解决什么问题
      • 开放系统间授权
      • 分析
    • OAuth2介绍
      • 主要角色
      • 应用
  • 微信登录介绍
  • KnowledgePoint-OAuth2
Shetengteng
2021-12-22

最简介绍

# 解决什么问题

# 开放系统间授权

如照片拥有者想要在云冲印服务上打印照片,云冲印服务需要访问云存储服务上的资源

资源拥有者:照片拥有者 客户应用:云冲印 受保护的资源:照片

# 分析

如果要实现该功能有如下方案

# 方案1 密码用户名复制

用户将自己的"云存储"服务的用户名和密码,告诉"云冲印",后者就可以读取用户的照片了 但是该做法有以下缺点

  • "云冲印"为了后续的服务,会保存用户的密码,不安全
  • Google不得不部署密码登录,而单纯的密码登录不安全
  • "云冲印"拥有了获取用户储存在Google所有资料的权力,用户没法限制"云冲印"获得授权的范围和有效期
  • 用户只有修改密码,才能收回赋予"云冲印"的权力;但会使得其他所有获得用户授权的第三方应用程序全部失效
  • 只要有一个第三方应用程序被破解,就会导致用户密码泄漏,以及所有被密码保护的数据泄漏

总结

  • 将受保护的资源中的用户名和密码存储在客户应用的服务器上,使用时直接使用这个用户名和密码登录
  • 适用于同一公司内部的多个系统,不适用于不受信的第三方应用

# 方案2 通用开发者key

适用于合作商或者授信的不同业务部门之间

# 方案3 颁发令牌

接近OAuth2方式,需要考虑如何管理令牌、颁发令牌、吊销令牌,需要统一的协议,因此就有了OAuth2协议 给应用授予有限的访问权限,让应用可以代表用户去访问用户的数据

# OAuth2介绍

# 主要角色

# 应用

# 微服务安全

现代微服务中系统微服务化以及应用的形态和设备类型增多,不能用传统的登录方式 核心的技术不是用户名和密码,而是token,由AuthServer颁发token,用户使用token进行登录

# 社交应用

Last Updated: 2022/01/16, 11:29:51
微信登录介绍

微信登录介绍→

Theme by Vdoing | Copyright © 2021-2022 Shetengteng | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式