在 《IDaaS 技术解析系列(一)》中,我们介绍了在单点登录中Token认证相对于传统基于Session认证的优势,本文继续介绍一组相关概念:Access Token & Refresh Token。
Token作为用户获取受保护资源的凭证,必须设置一个过期时间,否则一次登录便可永久使用,认证功能就失去了意义。但是矛盾在于:过期时间设置得太长,用户数据的安全性将大打折扣;过期时间设置得太短,用户就必须每隔一段时间重新登录,以获取新的凭证,这会极大挫伤用户的积极性。针对这一问题,我们可以利用Access / Refresh Token这一概念来平衡Token安全性和用户体验。
Access / Refresh Token是什么?
图 1
上图表示Access/Refresh Token在客户端、认证服务器、资源服务器三者之间的传递关系,简单来说:
- Access Token即“访问令牌”,是客户端向资源服务器换取资源的凭证;
- Refresh Token即“刷新令牌”,是客户端向认证服务器换取Access Token的凭证。