2013-05-03 100 views
2

我试图通过Spring Social和spring-social-google实现Google Oauth2。初始身份验证正常。然而,经过一段时间认证过期,我被如何从Spring社交中恢复ExpiredAuthorizationException

org.springframework.social.ExpiredAuthorizationException: The authorization has expired. 

如何从这种异常中恢复?是否有可能以某种方式刷新授权?

回答

1

尝试在授权期间发送其他access_type=offline参数。它可能看起来像这样:

<form ...> 
    ..... 
    <input type="hidden" name="access_type" value="offline"/> 
</form> 

通常在这种情况下,授权将自动刷新为您。有关更多详细信息,请参阅this entry

+0

我将这个参数发布到spring社交控制器。可能该控制器不会将它传递给谷歌。 – 2013-05-03 12:36:46

+0

这个拉取请求支持这个假设:https://github.com/GabiAxel/spring-social-google/pull/23 – 2013-05-03 13:24:47

+0

我分叉了包含拉请求的spring-social-google。现在我可以刷新连接了!接受答案,因为它使我走上正轨。 – 2013-05-04 18:10:54