OIDC & OAuth2.0 协议及其授权模式详解|认证协议最佳实践系列【1】

OIDC / OAuth2.0 是一种开放的标准,可以帮助应用程序安全地访问用户的资源,而无需将用户的凭据(如用户名和密码)暴露给应用程序,我们可以通过标准协议,建立集中的用户目录和统一认证中心,将内外部业务系统的登录认证统一到认证中心,实现集中化的管理,从而避免每套业务系统都要搭建一套用户体系所造成的管理侧不便及安全侧的风险。

本文将带各位详细了解 OAuth 2.0 & OIDC 及其授权模式

01 协议介绍

1.1 OAuth 2.0 & OIDC

OAuth 2.0 是一个授权框架,使应用程序能够获得对 HTTP 服务上用户帐户的有限访问权限,例如 Facebook、GitHub 和 DigitalOcean。它通过将用户认证委托给托管用户帐户的服务,并授权第三方应用程序访问用户帐户来实现。

OpenID Connect (OIDC) 是建立在 OAuth 2.0 框架之上的简单身份层。它在 OAuth 2.0 提供的授权的基础上添加了认证。

初看上面这段话你可能很难理解,这里用白话解释下,OAuth 2.0 在设计之初,是为了 API 安全的问题,它是一个授权协议,而 OIDC 则在 OAuth2.0 协议的基础上,提供了用户认证、获取用户信息等的标准实现,当然我们也可以理解获取用户信息也是一个 API ,用 OAuth 2.0 也没问题的,考虑到读者的感受,在这里不要过于纠结,只要记住 OIDC 是完全兼容 OAuth2.0 的,我们现在也推荐用 OIDC

1.2 术语介绍

啥啥啥,写的这都是啥,小白看到这些脑袋都大了,我在这里重点说下 OIDC/OAuth2.0 协议交互时所参与的几个角色,等你对协议熟悉了,可以反过头来再看下相关的介绍,在接下来的授权模式介绍中,我们会结合这四个角色,介绍下不同授权模式的流程。

  • 资源持有者(End User / Resource Owner) 终端用户

  • 应用/客户端(Client)应用的前端,可以是 web 端、App 端、移动端应用

  • 资源服务器(Resource Server) Client 对应的后台

  • 认证服务器(OpenID Provider / Auhtorization Server)即 Authing

1.3 Client 类型介绍

OAuth2.0 / OIDC 中定义了 2 种 Client 类型:

我们在这里解释下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值