我使用spring-security-facebook插件進行身份驗證。它運作良好,現在我試圖使用需要授權的spring-social-facebook的一些功能。從我的控制器中,我可以在哪裏獲得有效的accessToken(以創建FacebookTemplate對象)?Grails spring-security-facebook插件的accessToken
這是我如何使用插件:
1)我添加了一個域類,OAuthUser(不在插件,但在我的項目) 2)我已經產生了FacebookAuthDaoImpl 3)我編輯的方法產生,例如,在創建(),I創建
+用戶(主域類SecUser)的實例,並設置配置文件的相關信息
+新OAuthUser(其中,i設置UID,該的accessToken,並將其與創建的主用戶相關聯。
更新1: 我添加這些3種方法在我FacebookAuthDaoImpl類:
Boolean hasValidToken(OAuthUser user){
def now= new Date()
if(now.after(user.accessTokenExpires)){
return false
} else {
return true
}
}
void updateToken(OAuthUser user, FacebookAuthToken token){
user.accessToken = token.accessToken
user.save()
}
String getAccessToken(OAuthUser user){
return user.accessToken
}
但我仍然有過期的accessToken。
但你正在更新'user.accessTokenExpires'?如果hasValidToken爲null,它會返回什麼? – 2012-08-09 17:08:24
@IgorArtamonov我不知道,我想弄清楚從哪裏可以得到到期日期。你有樣品嗎? (順便說一句,我想出瞭如何從認證'FacebookAuthToken令牌= SecurityContextHolder.context.authentication \t token.accessToken = facebookAuthUtils.getAccessToken(token.code)') – yeka 2012-08-09 17:31:20
void updateToken(OAuthUser用戶,FacebookAuthToken令牌){ 用戶.accessToken = token.acceessToken.accessToken user.accessTokenExpiration = = token.acceessToken.expireAt } – 2012-08-10 04:57:52