简体中文
公共客户端与机密客户端之间的区别是什么?
本文揭示了 OAuth 中公共客户端与机密客户端之间的区别,以 Logto 应用为例。
使用 Logto 创建应用时,你会注意到有几种不同的应用类型可供选择,包括单页面应用程序(SPA)、本机应用程序和传统 Web 应用程序。从名称上来看,可以直观地知道本机应用程序是运行在常见设备操作系统上的应用程序,比如手机。那么,究竟什么是 SPA 和传统 Web 应用呢?为什么我们需要区分这些不同类型的应用程序?本文将揭示这些问题的答案。
在开始之前,我们需要简要介绍一些概念。
什么是 OAuth?
OAuth 是一种开放的访问授权标准,通常被用于互联网用户授权网站或应用程序访问他们在其他网站上的信息,而无需提供其密码。
在最近的十年间,它逐渐成为了标准的授权流程,并被谷歌、Meta、微软等大多数公司广泛接受。目前使用的版本是 OAuth 2.0。
在 OAuth 的背景下,我们之前提到的应用被称为客户端。只要它们获得了资源拥有者(通常为最终用户)的授权,它们就可以请求受保护的资源。
公共客户端和机密客户端
OAuth 根据客户端维护其凭证机密性的能力,定义了两种客户端类型。
机密客户端
能够维护其凭证机密性的客户端(例如,实施在安全服务器上、对客户端凭证有访问限制的客户端),或者可以通过其他方式进行安全客户端认证的客户端。