OAuth2图文快速入门

简介: OAuth2基础知识

OAuth2是什么?

OAuth 2.0是应用之间彼此访问数据的授权协议,其最终的目的是为了给第三方应用颁发一个有时效性的令牌access_token,第三方应用根据这个access_token就可以去获取用户的相关资源。

OAuth2应用场景

1、系统间授权

比如我打开王者荣耀,它要求我用微信或者qq登录,我登录到微信,然后微信重定向回王者,此时王者荣耀就可以拿到我在微信的用户数据了。

2、保证微服务安全

3、企业内部应用认证授权

比如单点登录

OAuth2授权流程

OAuth2相关概念

令牌:令牌是OAuth2中的核心组件,它代表了一次授权的结果,表示客户端已经被授予它所请求的权限

客户端:是代表资源拥有者访问受保护资源的软件。简单来说OAuth2授权给谁,谁就是OAuth2的客户端。

资源拥有者:是有权将访问权限授权给客户端的主体。

受保护的资源:是能够通过http服务器进行访问,访问时需要OAuth2下发的令牌(token)。

授权服务器:是一个HTTP服务器,它在OAuth2系统中充当中央组件。授权服务器对资源拥有者和客户端进行身份认证,让资源拥有者向客户端授权、为客户端颁发令牌。

授权范围:表示一组访问受保护资源的权限,它界定了客户端获取的权限范围。

刷新令牌:与访问令牌的不同在于,该令牌不会被发送给受保护资源,它只是为了当访问令牌过期后,客户端不必重新发起授权请求,而是用该令牌向授权服务器请求换取一个新的用于获取受保护资源的访问令牌。

总结

博文到这里可能还是过于抽象,我们从实际生活中举例来更好地理解。

比如小区大门和楼栋有门禁系统,进入需要输入密码或刷卡,我是做电商的,快递员经常需要来取件,如果我把密码告诉快递员他就拥有和我一样的权限了,这样肯定是不好的。如果此时有授权机制,快递员想进来需要得到我的授权,我在家授权后,门禁系统生成一个令牌,快递员得到这个令牌三天或一周之内都可以小区和楼栋。

令牌密码的作用是一样的,都可以进入系统,但是有三点差异。

(1)令牌是短期的,到时间会自动失效,无法修改。密码一般长期有效,我不改它就一直可以用。

(2)令牌可以被撤销,立即失效。以上例而言,我可以随时取消快递员的令牌。密码一般不允许被他人撤销。

(3)令牌有权限范围(scope),比如只能进小区或某个楼栋。密码一般是完整权限。

上面这些设计,保证了令牌既可以让第三方应用获得权限,同时又随时可控,不会危及系统安全。

相关文章
|
1月前
|
存储 安全 API
认证服务---OAuth2.0基本介绍,微博登录测试【上篇】
这篇文章是关于OAuth2.0的介绍和微博登录测试的教程,详细解释了OAuth2.0的基本概念和授权流程,并指导读者如何在新浪微博开放平台进行应用创建、设置回调地址,以及使用Postman工具进行授权测试,为实现第三方微博登录功能做准备。
认证服务---OAuth2.0基本介绍,微博登录测试【上篇】
|
14天前
|
安全 Java 数据安全/隐私保护
|
1月前
|
缓存 安全 数据库
认证服务---OAuth2.0基本介绍,微博登录整合到实际项目中【下篇】
该博客文章介绍了如何在项目中实际应用社交登录功能,通过使用微博的OAuth 2.0授权流程来实现用户的登录和注册。
认证服务---OAuth2.0基本介绍,微博登录整合到实际项目中【下篇】
|
安全 Java 数据安全/隐私保护
马老师手写第二版Spring Security OAuth2.0认证授权教程
先是给大家基本概念,然后是基于Session的认证方式,紧接着会带着大家去快速的上手Spring Security,然后回去给大家详解解释Spring Security应用、然后就是分布式系统认证方案以及OAuth2.0,最后是Spring Security实现分布式系统授权!
|
SpringCloudAlibaba 前端开发 安全
SpringCloud Alibaba实战二十六 - Oauth2认证服务器自定义异常
SpringCloud Alibaba实战二十六 - Oauth2认证服务器自定义异常
367 0
|
SpringCloudAlibaba 安全 前端开发
SpringCloud Alibaba实战二十七 - Oauth2认证服务器自定义异常
今天内容主要是解决一位粉丝提的问题:在使用 Spring Security OAuth2 时如何自定义认证服务器返回异常。
846 0
SpringCloud Alibaba实战二十七 - Oauth2认证服务器自定义异常
|
存储 安全 Java
OAuth2在项目中使用完成的功能说明|学习笔记
快速学习OAuth2在项目中使用完成的功能说明
OAuth2在项目中使用完成的功能说明|学习笔记
|
安全 前端开发 JavaScript
OAuth2.0实战(二)四种认证方式的基本使用
OAuth2.0实战(二)四种认证方式的基本使用
427 0
OAuth2.0实战(二)四种认证方式的基本使用
|
安全 前端开发 JavaScript
【实战篇】微信公众号网页授权登录实现起来如此简单
【实战篇】微信公众号网页授权登录实现起来如此简单
1653 0
【实战篇】微信公众号网页授权登录实现起来如此简单
|
存储 前端开发 安全
OAuth2.0简介
公司使用这个东西,所以简单整理下做一个使用级别的梳理。 官网:https://oauth.net/2/ ,如果英语不好又是第一次了解这个东西可以先用几分钟看看这个网友对于官网的中文直译:https://www.jianshu.com/p/bc2153b4d657
987 0
OAuth2.0简介