面试题答案
一键面试1. 基于Token的认证
- 工作原理:客户端向认证服务器请求Token,认证服务器验证客户端身份后颁发Token。客户端在后续gRPC请求中将Token包含在请求头中,服务端收到请求后向认证服务器验证Token的有效性。
- 适用场景:适用于分布式系统中,不同服务之间需要相互认证,且对灵活性要求较高的场景。如多个微服务共同构建的复杂业务系统,不同服务可能由不同团队开发和维护。
2. TLS(Transport Layer Security)认证
- 工作原理:在传输层建立安全连接。客户端和服务端通过交换数字证书来验证对方身份,证书由受信任的证书颁发机构(CA)签发。双方基于证书中的公钥协商出一个对称加密密钥,用于后续数据传输的加密和解密。
- 适用场景:对数据传输安全性要求极高,防止数据在传输过程中被窃听、篡改的场景,如涉及用户敏感信息(如金融数据、医疗数据等)传输的微服务通信。
3. 用户名密码认证
- 工作原理:客户端在发起gRPC请求时,在请求中附带用户名和密码。服务端接收到请求后,将用户名和密码与存储的用户信息(如数据库中的用户表)进行比对,验证通过则允许请求继续处理。
- 适用场景:适用于内部系统,用户数量相对较少且对便捷性有一定要求的场景。例如企业内部的微服务系统,员工使用统一的用户名密码进行操作。