JavaScript
TypeScript

Firebase refresh_token으로 access_token 가져오기

el

elecball_
질문 종료
130 XP

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을 어떻게 갱신하는지 알고 싶습니다.


불러오는 중...