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
- Hi Folks, Database Writing Issue
Hey Folks im trying to get logging setup on my website but im getting an error, i dont have any document id and i think this is the issue but i havent got the f...
- Imagine.dev Auth Error
Be careful! The redirect_uri is not associated with this application. The application might be misconfigured or could be trying to redirect you to a website y...
- Middleware
how to make middleware in nextjs appwrite with client side auth?