나는 인증을 위해 spring-security-facebook 플러그인을 사용하고있다. 그것은 잘 작동합니다, 지금은 승인이 필요한 spring-social-facebook의 일부 기능을 사용하려고합니다. 내 컨트롤러에서 유효한 accessToken은 어디에서 얻을 수 있습니까 (FacebookTemplate 객체를 만들기 위해)?Grails spring-security-facebook plugin의 액세스 토큰
이 내가 플러그인을 사용하고 있습니다 방법은 다음과 같습니다
1) 나는 도메인 클래스, OAuthUser을 (하지 플러그인에서하지만 내 프로젝트) 2)는 FacebookAuthDaoImpl 3를 생성 한) 내가 편집 추가 상기 방법은 예에서, I는 I는 UID 상기 accessToken 설정 여기서
+ 사용자 (주 도메인 클래스 SecUser)의 인스턴스 및 (프로파일 정보를 정기적
+ 새로운 OAuthUser 세트 작성) (작성 생성 생성 된 주 사용자와 연결하십시오.
UPDATE 1 :
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 있습니다 나는 나의 FacebookAuthDaoImpl 클래스에서 그 3 가지 방법을 추가했습니다.
'user.accessTokenExpires'를 어디에서 업데이트하고 있습니까? 'hasValidToken'이 null이면 무엇을 반환합니까? –
@IgorArtamonov 나는 만료일을 어디에서 얻을 수 있는지 알아 내려고하고있다. 샘플이 있습니까? – yeka
무효 updateToken (OAuthUser 사용자, FacebookAuthToken 토큰) { 사용자 (BTW 나는 인증'FacebookAuthToken 토큰 = SecurityContextHolder.context.authentication \t token.accessToken = facebookAuthUtils.getAccessToken (token.code)'에서 accessToken을 얻는 방법을 알아 냈) .accessToken = token.acceessToken.accessToken user.accessTokenExpiration = = token.acceessToken.expireAt } –