Getting error "[AppwriteException: User (role: guests) missing scope (account)]" when trying signin
- 0
- Databases
- Auth
- Web
Hey guys,
I searched the docs, but didn't find a solution. Basically I am making a CRUD app, using react native and email auth in app write. I am getting an error: ERROR [AppwriteException: User (role: guests) missing scope (account)]
And from what I can tell, it is because I am using the account method before intiializing a session in order to check active sessions. So, what's a way to check active sessions on a device without using account.get()? I want to redirect user based on active session type to different screens.
Please help
here is the code snippet that I think is relevant: const handleSignIn = async () => { try { // First check if there is already an active session const sessions = await account.listSessions(); if (sessions.total > 0) { // If session exists, get user details const user = await account.get(); const userProfile = await databases.getDocument('', '', user.$id); navigateBasedOnRole(userProfile); } else { // If no session, create one await account.createEmailPasswordSession(email, password); const user = await account.get(); const userProfile = await databases.getDocument('', '', user.$id); navigateBasedOnRole(userProfile); } } catch (error) { console.error(error); Alert.alert("Error", error.message); } };
You use account.get
const getCurrentUser() {
try {
return account.get();
} catch (err) {
return null;
}
}
...
const user = getCurrentUser();
if(!user) {
redirect('sign-in');
}
Yes, I tried account.get() earlier but to no avail, it showed the same error
yes, it will show the error if there is no user, that is what it should do
catch the error and handle it
I can share my gh repo if you want: https://github.com/shafinshaikh/garageappv2
I don't need it
account.get() should throw an error if no one is logged in. You catch that error and handle it appropriately.
Recommended threads
- Error When load the website
Hi, I am getting this error whenever I reload my website please help me, I am using react Error: ** GET https://cloud.appwrite.io/v1/account 401 (Unauthoriz...
- Current User is Not authorized
recreating same Thread
- Seed db
hello there... is this correct way to seed appwrite