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
- [FEAT REQ] Bun runtime support
Instead of just Nodejs, it would be helpful to also add support for the Bun runtime which can speed up deployments by a ton.
- [ENHANCEMENT] Use the custom Next.js dep...
Deployment adapters on Next.js are now stable! This means that we don't have to stick to the limitations of sniffing out build outputs and manually moving or mo...
- NextJS builds sudden runtime_timeout
My builds suddenly stopped working. Activating old prebuilt snapshots work, but redeploying that same code produces builds that throw runtime_timeout FRA region