i'm refactoring my code, but I'm getting this issue when trying to get the current user logged in. My api key is correct with all auth/database scopes. Here are my codes:
Appwrite service
TypeScript
class AppwriteService {
private static adminClient: Client;
private static getAdminClient(): Client {
if (!this.adminClient) {
this.adminClient = new Client()
.setEndpoint(APPWRITE_ENDPOINT)
.setProject(APPWRITE_PROJECT)
.setKey(APPWRITE_API_KEY);
}
return this.adminClient;
}
public static getAppwriteAdminClient() {
const client = this.getAdminClient();
return {
get account() {
return new Account(client);
},
get users() {
return new Users(client);
},
get databases() {
return new Databases(client);
},
};
}
}
export default AppwriteService;
Auth service
TypeScript
class AuthService {
private static readonly account: Account = AppwriteService.getAppwriteAdminClient().account;
public static async getLoggedInUser(): Promise<Models.User<Models.Preferences>> {
return await this.account.get();
}
}
export default AuthService;
usage in page.tsx
TypeScript
const isLoggedIn = await AuthService.getLoggedInUser()
TL;DR
Developers are missing the account scope when trying to get the current logged-in user. In the `AuthService` class, make sure to add the missing scope to the account service call.
Solution:
```javascript
public static async getLoggedInUser(): Promise<Models.User<Models.Preferences>> {
return await this.account.get();
}
```Recommended threads
- No server error on selfhosted appwrite
Please help me, my clients is ask what happen on their data? How can i make it up again?
- Upgrading selfhost version?
It is okay to upgrade version to higher one, of my current version is 1.7.4 to 1.8.1. Is that safe to do cause my clients already have data on that? Also is a...
- Local Serverless Function Testing: Are D...
I have followed the instructions to get the CLI working, and have been able to log-in, initialize my project, and created a simple Python function, which calls ...