Skip to content
Back

User Verification for Operations after Login

  • 0
  • Flutter
  • Auth
flo<3ler
10 Oct, 2025, 14:04

I have a weird problem in my app that Appwrite does not see the authenticated user. After awaiting account.createEmailPasswordSession() and account.get() I want to use the returned userID to query a database document that only has row permissions for only this user. But I can only access the document when i give table permissions for all, which I do not want in this case.

I assume this is an issue on the flutter side and my handling, but other operations from my app work in a similar manner.

How does Appwrite verify where the request comes from and how can I use getRow() and listRows() correctly?

Here is a tiny snippet:

TypeScript
final session = await _account.createEmailPasswordSession(
  email: email,
  password: password,
);
final user = await _account.get();

final databaseId = dotenv.get('APPWRITE_DB_ID'); //debugPrint is correct
final userID = user.$id;         //debugPrint is correct

final userRows = await _tablesDB.listRows(
  databaseId: databaseId,
  tableId: 'user_keys',
); //this shows 0 rows if row permissions and 5 if table permissions
TL;DR
Problem: Appwrite does not recognize the authenticated developer which prevents access to specific database rows without granting all table permissions. Solution: Ensure that the session and user objects are correctly obtained and used in the query to list rows in Appwrite. Double-check permissions and authentication handling in the Flutter code for accuracy.
Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more