如何在 Spring OAuth SSO 授权服务器中处理令牌过期?

Posted

技术标签:

【中文标题】如何在 Spring OAuth SSO 授权服务器中处理令牌过期?【英文标题】:How to handle token expirations in a Spring OAuth SSO Authorization server? 【发布时间】:2016-05-28 18:57:00 【问题描述】:

我一直关注tutorial 创建一个 Spring SSO 应用程序,该应用程序使用 Facebook 进行身份验证,但创建自己的访问令牌以保护后端资源。

示例应用程序在首次登录时创建用户并存储用户的 facebook 令牌以供进一步使用(稍后从 facebook 获取数据)。

我的问题是如何处理令牌过期?当 facebook 令牌过期时,我们如何设置 spring security 来刷新它?我们的应用程序的令牌过期怎么办?

你可以找到我的示例项目here。

【问题讨论】:

【参考方案1】:

本教程中的应用程序仅使用令牌进行身份验证(即,它在用户登录时使用一次以获取用户的个人详细信息),因此它在使用时不太可能过期。话虽如此,用于执行该单个请求的 OAuth2RestOperations 实例能够自行刷新令牌(如果提供者向其发送了刷新令牌并允许您的客户端刷新访问令牌)。

【讨论】:

以上是关于如何在 Spring OAuth SSO 授权服务器中处理令牌过期?的主要内容,如果未能解决你的问题,请参考以下文章

Spring Oauth2 SSO:使用 AuthorizationServer 授予的权限

Spring Security OAuth2 SSO 未经授权的 401 错误

没有授权步骤的spring cloud oauth sso

基于Spring Security Oauth2的SSO单点登录+JWT权限控制实践

带有 Spring Boot 的 OAuth2 SSO 没有授权屏幕

spring-security-oauth2.0 SSO大体流程图