구글 Oauth2에서, Refresh Token을 이용하여 Access Token을 갱신하기.
먼저 refresh token을 얻는 방법은 아래 링크 참조
https://gomnezip.tistory.com/433
먼저 위와 같이 로그인해서 Refresh Token을 가지고 있어야함.
Access Token이 만료되었거나 (테스트중이라 그런지 만료일이 꽤 길던데..?) 갱신받을 필요가 있다면..
다음과 같이 구현해서 받아오면 된다.
GoogleAuthorizationCodeFlow flow;
public void RefreshAccessToken(String userID, String refreshToken){
TokenResponse response = new TokenRequest(HTTP_TRANSPORT, JSON_FACTORY, new GenericUrl("https://oauth2.googleapis.com/token"), "refresh_token")
.set("refresh_token", refreshToken)
.set("client_id", MY_CLIENT_ID)
.set("client_secret", MY_CLIENT_SECRET)
.execute();
flow.createAndStoreCredential(response, userId);
}
flow는 적당한 시점에 생성해주고.. TokenRequest를 만들고, set("refresh_token), .set("client_id"), .set("client_secret") 을 설정해주면, 갱신해온다.
* 10/05/22 updated.
위의 내용은 뻘짓이었다..
Credential credential;
if(!credential.refreshToken()){
fail;
}else{
success;
}
위 메소드가 있었네.. -_-;;
반응형
댓글