图文+代码带你攻克OAuth 2.0三大核心授权类型(上)

简介: 图文+代码带你攻克OAuth 2.0三大核心授权类型

授权码许可最为完备,但有时过于复杂,难以实现。OAuth 提供了其他三种更方便实现的方案。


比如,xx软件是公众号官方开发的一款软件,那么使用xx就没必要再走一遍授权码许可类型流程。授权码许可通过授权码这种临时中间值,让用户参与,从而让xx和公众号之间建立联系,进而让xx代表我访问在公众号里的文章数据。


1 资源拥有者凭据许可


自己平台的肯定是被公众号信赖的,不是三方软件。我也是公众号的号主,即软件和号主都是公众号的所属。就没必要再使用授权码许可。但xx依然要访问文章数据API,提供为我排版功能。为保护这种场景下的 API,OAuth 2.0 提供了资源拥有者凭据许可类型。

资源拥有者的凭据,即用户的凭据:用户名和密码。这么简陋方案,咋敢用的?xx现在是公众号官方开发的软件,我也是其号主,那么我其实可以使用用户名和密码直接使用xx。因为这里无三方。


但若每次xx都拿我的用户名和密码来通过调用 API 访问我号里的文章数据,甚至其他敏感信息,无疑增加用户名和密码被攻击风险。若用token代替这些敏感信息,就能保护敏感信息,xx只需使用一次用户名和密码数据来换回一个token,进而通过token来访问我的号里数据,以后就不会再使用用户名和密码了。


该许可类型的时序图

image.png

  1. 当我访问第三方软件xx时,会提示输入用户名和密码。索要用户名和密码,就是资源拥有者凭据许可类型的特点
  2. 这里的grant_type的值为password,告诉授权服务使用资源拥有者凭据许可凭据的方式去请求访问。

image.png

  1. 授权服务在验证用户名和密码之后,生成access_token的值并返回给三方软件。

image.png

适用场景

软件是官方发行即可。

目录
相关文章
|
4月前
|
数据可视化 Java API
API 参考与帮助内容:一站式开发与使用者支援
API 文档是旨在了解 API 详细信息的综合指南。通常,它们包括端点、请求示例、响应类别和示例以及错误代码等信息。API 文档可帮助开发人员了解 API 端点的具体细节,并了解如何将 API 成功集成到他们的软件中。
68 0
|
4月前
|
存储 安全 JavaScript
【分布式技术专题】「授权认证体系」深度解析OAuth2.0协议的原理和流程框架实现指南(授权流程和模式)
在传统的客户端-服务器身份验证模式中,客户端请求服务器上访问受限的资源(受保护的资源)时,需要使用资源所有者的凭据在服务器上进行身份验证。资源所有者为了给第三方应用提供受限资源的访问权限,需要与第三方共享它的凭据。这就导致一些问题和局限:
453 2
【分布式技术专题】「授权认证体系」深度解析OAuth2.0协议的原理和流程框架实现指南(授权流程和模式)
|
4月前
|
存储 监控 安全
OAuth 2.0进阶指南:解锁高级功能的秘密
OAuth 2.0进阶指南:解锁高级功能的秘密
326 0
|
4月前
|
小程序 测试技术 API
【社区每周】芝麻身份信息验证能力API更新(1月第二期)
【社区每周】芝麻身份信息验证能力API更新(1月第二期)
40 0
|
搜索推荐 数据安全/隐私保护
直播程序源码OAuth协议:开放授权的重要性
在直播程序源码平台,需要OAuth协议这样的协议,OAuth协议保证了用户在使用直播程源码平台结合第三方应用程序的技术功能时的安全性与方便性,也为直播程序源码平台的用户提供了许多互动功能,是让直播程源码平台成为更高质量、更好的平台。
直播程序源码OAuth协议:开放授权的重要性
|
12月前
|
XML 物联网 API
API接口:概述、设计、应用与未来趋势
API,全称应用程序接口,是一种软件程序之间的通信方法。API接口在互联网开发中扮演着重要角色,允许不同的应用程序相互交流和共享数据。API定义了一套标准的通信协议,使得开发人员能够使用特定的函数、方法或协议来交换信息。
|
JSON 程序员 API
以程序员视角讲述关于api数据接口的应用
作为一名程序员,API数据接口是我们日常工作中不可或缺的一部分。API,即Application Programming Interface,应用程序编程接口,是一种用于访问特定软件包或服务的预定义函数和过程。通过API,我们可以从各种数据源获取数据,并将其用于构建应用程序、网站或其他数字工具。
|
JSON API 数据安全/隐私保护
【Django学习】(十五)API接口文档平台_项目流程分析_日志器_认证_授权
【Django学习】(十五)API接口文档平台_项目流程分析_日志器_认证_授权
|
XML API 网络架构
API接口的技术的概念
当今互联网技术的发展越来越快,越来越多的网站和应用程序需要获取外部数据来提供更好的服务和用户体验,这就需要使用API接口。本文将会对API接口的概念、类型以及如何调用API接口进行简要介绍。
|
JavaScript 前端开发 API
laya核心API五分钟速记
laya核心API五分钟速记
194 0