I have a web app in reactjs that uses the Google login that is integrated into Appwrite for user login. I use createOAuth2Token() to login to their account. And I use createSession() to create a session within the Appwrite environment. To logout, I use deleteSession(). This approach of mine, however, only deletes the user's in process session within the Appwrite environment. It does not logout the user from their google account. I know this, because after clicking 'logout, when the user tries to log back in, they are immediately signed in without being prompted to enter their Google credentials again.
I logged the details of the session, and I saw that providerAccessToken is an empty string. Since providerAccessToken is an empty string for Googe OAuth2 logins, I assumend that the session $id can replace it. However, it did not help. Google returns Bad Request and does not logout the user from Google.
export const deleteUserSession = async () => {
const currentSession = await account.getSession('current');
const accessToken = currentSession.$id;
console.log('currentSession', currentSession);
console.log('accessToken', accessToken);
try {
if (currentSession && accessToken) {
await account.deleteSession(currentSession.$id);
console.log('Session deleted successfully');
await fetch('https://accounts.google.com/o/oauth2/revoke?token=' + accessToken, {
method: 'GET',
mode: 'no-cors',
});
console.log('LOGGED OUT SUCCESSFULLY.');
}
console.log('REDIRECTING TO /');
} catch (error) {
console.error('Error deleting the session:', error);
}
}
Recommended threads
- Project paused?
Hello, I have two Appwrite projects and I can not resume them for some reason. I'm using the free plan, and I saw in the pricing page that 2 free projects are a...
- HUGE OUTRAGE IN APPWRITE, I CANNOT ACCES...
I have 2k users trying to access, sending me messages. What am I supposed to do? Please solve this asap.
- All my apps are not opening now
All my apps are not opening now 200+ apps are not opening plz fast