Ouath2.0调研学习

背景

先来说说我为什么要了解这个,之前对登录相关系统一窍不通,经历过xxxxxx项目,算是明白了一点相关名词和概念,

单点登录:是一种身份验证服务,允许用户使用一组凭据(例如用户名和密码)登录并访问多个相关但独立的软件系统。在使用SSO的情况下,用户只需一次登录,即可无需重复输入凭据就能访问各个不同的系统。

单点注销:单点注销也是SSO的重要概念,指的是用户在任何一个系统中注销后,所有其他相关系统也将自动注销该用户,以确保用户的安全退出。

然后单点登录,通常用于内部系统之间,其中还要求用户体系必须是一套,那如果内外系统交互,用户系统还不一样呢,这样就涉及到Ouath2.0协议了。

OAuth2.0介绍

1.1 简介

OAuth 2.0是一种授权框架,用于在客户端与服务器之间安全地共享资源。它允许用户授权第三方应用程序访问他们在另一个服务上存储的私人资源,例如个人信息、照片或文档,而无需将用户名和密码直接提供给第三方应用程序。

OAuth 2.0官方图
在这里插入图片描述

角色区分

  • 客户端(Client):通常指用户
  • 资源拥有者(Resource Owner):用户想要访问的网站
  • 认证服务器(Authorization Server):三方
  • 资源服务器(Resource Server)
    在这里插入图片描述

Q&A

Q:为什么我们需要先拿授权码,再去换token,为什么不直接一步到位拿到token?

A:安全吧,对于用户来说,直接返回给他token,一方面他不关心,另外以防止有心之人拿到token去做一些坏事。

Q:如果防止CRSF攻击?

A:

  • 授权码是一次性使用的,基本都会立马被本身应用去处理掉,因此很难重复利用授权码去换取token。能够有效减少攻击
  • 授权的回调地址通常是配置需要配置在授权服务器中,一次会进行要求验证来源站点,一定程度上防范 CSRF 攻击。
  • 随机State参数

Q:为什么有了AccessToken,还需要RefreshToken?

A:(个人理解)

  • AccessToken可以设置短一点,RefreshToken可以可以设置长一点,这样可以防止AccessToken被盗用,不会长时间异常
  • 增加用户体验,可以无伤续token
  • 实时性会强一点,比如每次续token,都可以拿到最新用户数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值