svelte 사용중이고, 로그인은 다음과 같이 했습니다.
await signInWithPopup(auth, provider)
.then(async (result: UserCredential) => {
const credential = GoogleAuthProvider.credentialFromResult(result);
// st db store credential?.accessToken
});
그리고 구글 API는 다음과 같이 이용하였습니다.
// googleCredentials is file of Oauth ID of firebase
const oAuth2Client = new OAuth2(
googleCredentials.web.client_id,
googleCredentials.web.client_secret,
googleCredentials.web.redirect_uris[0],
);
oAuth2Client.setCredentials({
access_token: access_token,
});
oAuth2Client.revokeToken(access_token, function(err, body) {
console.log(err);
console.log(body);
})
return new Promise(async (resolve, reject) => {
const classroom = google.classroom({
version: "v1",
auth: oAuth2Client
});
classroom.courses.list({})
.then((res) => {
const courses = res.data.courses;
resolve(courses);
})
.catch((err) => {
reject(err);
});
});
엑세스 토큰이 1시간 이후에 무효된다는 거는 알고 있는데, 로그인 과정에서 어떻게 refresh token을 가져오는지 모르겠습니다.
결론적으로, 어떻게 refresh token을 가져오고, access token을 어떻게 갱신하는지 알고 싶습니다.
불러오는 중...