401 user_unauthorized: The current user is not authorized to perform the requested action.
- 0
- Databases
I am using NextJs with the node-apprite cli. When a user creates an account I need a document to be added to my Users collection. When the code to create the new user's document is called, i get the error stated in the title. This is strange however, since the session is creaed, the user is logged in and the document is created in the database. I've sent a couple of days trying to figure this out. My permissions are essentially set to anyone (any, guest & users) for the sake of experimentation. This is the code to create a user and post to the DB:
const session = await account.createEmailPasswordSession(email, password);
cookies().set("auth-session", session.secret, {
path: "/",
httpOnly: true,
sameSite: "strict",
secure: true,
});
await addUserToDatabase(username, session.userId, email);
...
async function addUserToDatabase(
userName: string,
userId: string,
userEmail: string
) {
const { databases } = await createDatabaseClient();
try {
return await databases.createDocument(
databaseId,
usersCollectionId,
ID.unique(),
{
userName,
userId,
userEmail,
}
);
} catch (error: any) {
if (error.type === "user_unauthorized") {
console.error("Unauthorized to add user to database", error);
} else {
console.error("Error adding user to database", error);
}
}
}
Ok, it would appear the error was being caused by a relation to another collection.
Recommended threads
- Type Mismatch in AppwriteException
There is a discrepancy in the TypeScript type definitions for AppwriteException. The response property is defined as a string in the type definitions, but in pr...
- What Query's are valid for GetDocument?
Documentation shows that Queries are valid here, but doesn't explain which queries are valid. At first I presumed this to be a bug, but before creating a githu...
- Appwrite exception: user_unauthorized, t...
After refreshing the app it is working perfectly