I've been trying to solve this for a week now, I can't seem to find any solution! I have a react front-end app that logs in users via firebase/auth google auth provider like so:
```
export const signIn = async () => {
const auth = getAuth();
const provider = new GoogleAuthProvider();
provider.addScope("https://mail.google.com/");
provider.addScope("https://www.googleapis.com/auth/calendar");
provider.setCustomParameters({
prompt: "consent",
access_type: "offline",
});
try {
const result = await signInWithPopup(auth, provider);
const credential = GoogleAuthProvider.credentialFromResult(result);
console.log("result", result);
const accessToken = credential?.accessToken;
const idToken = credential?.idToken;
const refreshToken = result.user.refreshToken;
console.log("credential.accessToken", accessToken);
console.log("credential.idToken", idToken);
console.log("credential.refreshToken", refreshToken);
await createOrUpdateProviderUser(previousUser, result.user, {
accessToken: accessToken,
idToken: idToken,
refreshToken: refreshToken,
});
} catch (e) {
console.error("Error with signup: ", e);
}
};
```
So I get those 3 tokens. I also get accessToken, refreshToken and expirationTime under a key called stsTokenManager. My problem is that NONE of those tokens comes up as valid for this request https://www.googleapis.com/oauth2/v1/tokeninfo?token=..... and I can't use ANY of them to connect to calendar or gmail.
Hi @aeldaly,
Welcome to Google Cloud Community!
Have you checked this Stack Overflow link that could be helpful in resolving your concern?