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
- is `account.get()` safe to be used in th...
I want to user's `id` for authentication. However, a while ago I was told in this server not to use `account.get()` and instead add user preferences for that us...
- Appwrite console is too heavy
The Appwrite console is too heavy And all of my services broken Any support , please
- Usage of the new Client() and dealing wi...
Hey guys, just a quick one - we had some web traffic the other day and it ended up bombing out - To put in perspective of how the app works, we have a Nuxt Ap...