I've run into an error while integrating OAuth2 logins into my app. Specifically, after a successful Google login, I'm encountering an "AppwriteException" indicating that the user is missing the "account" scope.
AppwriteException: User (role: guests) missing scope (account)
After consulting the documentation and discussions on Discord, I realized that I forgot to create a session after the Google login. The documentation suggests using the account.createSession(userId, secret) method to create the session.
https://appwrite.io/docs/products/auth/oauth2#init
const urlParams = new URLSearchParams(window.location.search);
const secret = urlParams.get('secret');
const userId = urlParams.get('userId');
await account.createSession(userId, secret);
However, I'm unsure about the appropriate timing to call this method in my Next.js app. It doesn't seem efficient to call it every time the page loads using useEffect. Any thoughts on this?
If there's already a solution to this, please provide the relevant URL
You'd do this once, immediately after Google redirects back to your app
(In fact, it will only work once - if you try again you should receive an "Invalid secret" error, I think)
did you find this fix?
I am facing similar problem.
bello
any updates ? 🙂
Recommended threads
- Apple OAuth Scopes
Hi Hi, I've configured sign in with apple and this is the response i'm getting from apple once i've signed in. I cant find anywhere I set scopes. I remember se...
- Sign In With Apple OAuth Help
Hi All! I've got a flutter & appwrite app which Im trying to use sign in with apple for. I already have sign in with google working and the function is the sam...
- Custom Domains
Hi All, Should be a quick config issue. I'm setting up custom domains on the hosted version. I have verified the domain with the CNAME but appwrite isn't gene...