OAuth 2.0实战(二)-为什么要先获取授权码code?(下)

简介: OAuth 2.0实战(二)-为什么要先获取授权码code?

授权码许可类型的通信过程

间接通信

间接通信就是指获取授权码的交互。

image.png我:“xx,我要访问你了。”

xx:“我把你引到授权服务,我需要授权服务给我一个授权码。”

授权服务:“xx,我把授权码发给浏览器了。”

小兔软件:“ 那我从浏览器拿到了授权码。”

xx和授权服务间,并无直接通信,而是通过中间人(浏览器).

直接通信

授权码换取访问令牌的交互,是“直接”的。

image.png

三方软件xx获取到授权码后,向授权服务发起获取访问令牌 access_token 的请求。

三方软件要代表资源拥有者去访问受保护资源

授权服务负责颁发访问令牌,受保护资源负责接收并验证访问令牌。

开发微信小程序场景

比如获取用户登录态信息的过程:


通过 wx.login(Object object) 获取登录凭证 code,该步是在小程序内部通过调用微信提供的 SDK 实现的

再通过该 code 换取用户的 session_key 等信息,即官方文档的 auth.code2Session 方法,同时该方法也是被强烈建议通过开发者的后端服务来调用


参考

https://leokongwq.github.io/2017/02/28/why-oauth2-use-authorization-code.html

https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html

https://segmentfault.com/q/1010000014642301

https://tools.ietf.org/html/rfc6749


目录
相关文章
|
存储 安全 API
深入了解OAuth 2.0:探究身份验证与授权的新标准
OAuth 2.0是一种开放标准的协议,用于安全地授权第三方应用程序访问用户的资源,而无需共享用户的凭据。这一协议在互联网上广泛应用,为许多应用和服务提供了强大的身份验证和授权机制。本文将深入介绍OAuth 2.0,探讨其工作原理、关键概念和常见用途。
|
2月前
|
安全 数据安全/隐私保护 UED
OAuth 2.0 授权码模式的局限性
【10月更文挑战第5天】
62 1
|
2月前
|
存储 缓存 UED
|
7月前
|
存储 应用服务中间件 API
Oauth 2 授权码模式
Oauth 2 授权码模式
186 1
|
存储 安全 前端开发
深入探讨安全验证:OAuth2.0、Cookie与Session、JWT令牌、SSO与开放授权平台设计
这篇文章讨论了认证和授权的概念,并探讨了设计权限认证框架的原则。它还比较了Cookie和Session的区别,并探讨了处理分布式部署时的Session保存问题。此外,文章还介绍了CSRF攻击及其防范方法,以及OAuth2.0、JWT令牌和SSO的概念。最后,文章提出了设计开放授权平台时需要考虑的因素。
228 0
深入探讨安全验证:OAuth2.0、Cookie与Session、JWT令牌、SSO与开放授权平台设计
|
7月前
|
存储 缓存 前端开发
自定义OAuth2组件实现对授权码登录模式的封装
所谓OAuth2其实就是Open Authorization,即开放授权,是一种授权机制或者说是一种协议。OAuth2允许用户授权第三方应用访问其存储在开放平台(授权服务器)中的数据而不需要提供密码。授权服务器根据OAuth2协议标准制订一套授权的API,第三方网站接入开放平台之后即可通过其提供的API来实现用户授权和获取授权服务器中用户的信息的功能。
|
安全 前端开发 Java
基于Session方式深入了解认证授权 2
基于Session方式深入了解认证授权
63 0
|
存储 JSON 安全
OAuth 详解<2> 什么是 OAuth 2.0 授权码授权类型?
授权代码授权类型可能是您将遇到的最常见的 OAuth 2.0 授权类型。Web 应用程序和本机应用程序都使用它在用户授权应用程序后获取访问令牌。 这篇文章是我们探索常用的 OAuth 2.0 授权类型系列文章的第一部分。如果您想在深入了解 OAuth 2.0 之前稍微回顾一下并了解更多信息,请查看OAuth 到底是什么?
163 0
OAuth 详解<2> 什么是 OAuth 2.0 授权码授权类型?
|
API 数据安全/隐私保护
Yii2.0框架中如何进行身份验证和授权操作?支持哪些认证方式和授权方式?
Yii2.0框架中如何进行身份验证和授权操作?支持哪些认证方式和授权方式?
216 0
|
安全 Java 数据库
案例之授权码模式测试|学习笔记
快速学习案例之授权码模式测试
案例之授权码模式测试|学习笔记