面试题答案
一键面试- Token认证
- 工作原理:客户端向认证服务器发送认证请求,包含用户名和密码等凭证。认证服务器验证凭证通过后,生成一个Token(令牌),通常是一个包含用户身份信息和其他元数据的加密字符串,并返回给客户端。之后客户端在每次请求微服务时,将Token放在请求头或其他指定位置。微服务接收到请求后,向认证服务器(或通过本地验证机制,若Token采用自包含的JWT等格式)验证Token的有效性,若有效则处理请求,否则拒绝。
- OAuth 2.0
- 工作原理:涉及资源拥有者(用户)、客户端、授权服务器和资源服务器。用户先向客户端授权,客户端将用户导向授权服务器。授权服务器验证用户身份后,向客户端颁发授权码。客户端拿着授权码向授权服务器换取访问令牌(Access Token)。客户端使用访问令牌访问资源服务器上的资源,资源服务器验证访问令牌的有效性,有效则返回资源。OAuth 2.0主要用于第三方应用获取用户在资源服务器上资源的授权访问。
- API Key认证
- 工作原理:服务提供商为每个调用方(客户端)分配一个唯一的API Key,该Key作为调用方的身份标识。调用方在每次请求服务时,将API Key包含在请求中,一般放在请求头或作为请求参数。服务端接收到请求后,提取API Key并与预存的合法Key列表进行比对,若匹配则认为请求来自合法调用方,继续处理请求;若不匹配则拒绝请求。这种方式简单直接,但安全性相对较弱,一般用于对安全要求不是特别高的场景。