介绍
前言
传统的客户端-服务器身份验证模型中存在的问题。在这种模型中,客户端通过使用资源所有者的凭据对服务器进行身份验证,从而请求访问受限资源(受保护的资源)。为了使第三方应用程序能够访问受限资源,资源所有者需与第三方共享其凭据。然而,这种做法存在一些问题和限制:
- 第三方应用程序通常需要明文存储资源所有者的凭据(通常是密码),以备将来使用。
- 服务器需要支持密码身份验证,而且密码身份验证存在安全弱点。
- 第三方应用程序可能获得对资源所有者受保护资源的过于广泛的访问权限,而资源所有者无法限制对资源的访问时长或访问的资源子集。
- 资源所有者无法单独撤销对个别第三方的访问权限,而不影响所有第三方的访问权限,只能通过更改第三方的密码来执行此操作。
- 如果任何第三方应用程序遭到破坏,将导致最终用户密码以及由该密码保护的所有数据的泄露。