概念
概览
本课程简要概述了课程内容。
为什么选择这门课程?
OAuth2 是一个许多人不知从何入手的主题。本课程的目的是让你熟悉 OAuth2 是什么以及它的工作原理。
哪些人适合学习这门课程?
任何熟悉基本 Web 服务的人都可以参加本课程。
## 什么是 OAuth2? **OAuth2** 是一种行业标准的授权协议,其核心功能是验证用户是否有权限访问某个资源,具体取决于用户的权限级别。
例如,在你的应用中,只有编辑者才能访问文章的编辑面板。OAuth2 可以用来验证用户 X 是否具有 OAUTH2_POST_EDITOR 的身份类型。这是一种实现所谓“访问控制列表”的方式。
OAuth2 本身不进行身份验证(在原始形式下),也就是说,它不会检查用户的身份是否真实。因此,你需要自行决定如何完成用户的身份验证。
例如,通过设置 JWT 令牌的较短有效期,你可以每隔 5 或 10 分钟要求用户重新输入密码。银行就采用这种方式,确保当前操作的人仍然是用户 X,而不是他人冒用。
OAuth2 解决了哪些问题?
OAuth2 的主要目标是允许第三方应用程序在你的应用中代表用户登录。同时,它支持在需要将前端与后端解耦的场景下实现授权和认证(通过密码授权模式),从而更好地遵循 REST 架构原则。
...
OAuth2 中不同角色之间的交互
如上图所示,客户端应用首先从用户处获取一个 授权许可,然后将其发送给 授权服务器。授权服务器验证后返回一个访问令牌给客户端应用,该令牌用于向 资源服务器 请求访问受保护的资源。