본문 바로가기
Programming/Java_Spring

Refresh Token을 이용하여 Access Token얻기 (Google Oauth2)

by 곰네Zip 2022. 9. 27.

구글 Oauth2에서, Refresh Token을 이용하여 Access Token을 갱신하기.

먼저 refresh token을 얻는 방법은 아래 링크 참조

https://gomnezip.tistory.com/433

 

구글 로그인 시.. RefreshToken얻기.

구글 로그인 시, AccessToken만 받아온다. RefreshToken은 null.. GoogleAuthorizationCodeFlow.Builder()를 사용해서 받아왔는데.. GoogleAuthorizationCodeFlow.Builder( TRANSPORT, FACTORY, CLIENT_ID, CLIENT..

gomnezip.tistory.com

먼저 위와 같이 로그인해서 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;
}

위 메소드가 있었네.. -_-;;

반응형

댓글