Back

getSession and listSessions return User (role: guests) missing scope (account)

  • 0
  • Self Hosted
  • Auth
OrionK
2 Jul, 2024, 23:38
TypeScript
try {
    const sessionClient = new sdk.Client()
      .setEndpoint(process.env.AWENDPOINT)
      .setProject(process.env.AWPROJECTID);
    const account = new sdk.Account(sessionClient);
    const session = await account.createEmailPasswordSession(email, password);
    console.log("Session created:", session.$id);
    sessionClient.setSession(session);
    // TEMP
    const tempClient = new sdk.Client()
      .setEndpoint(process.env.AWENDPOINT)
      .setProject(process.env.AWPROJECTID)
      .setSession(session);
    const account1 = new sdk.Account(tempClient);
    //console.log(account1);
    //console.log(account1.client.headers["x-appwrite-session"]);
    //const sessionsList = await account1.listSessions();
    const result = await account.getSession(session.$id);
    console.log(result);
    console.log(sessionsList);
    // END TEMP
    const users = new sdk.Users(adminClient);
    const user = await users.get(session.userId);
    const username = user.email;

Everything else seem to work. I see the session Id and other info. Why accessing sessions is giving an error? Another thing to note: In the console, sessions list the browser/device, location and IP but field "Session" is always empty...

TL;DR
Developers are having issues accessing sessions using getSession and listSessions methods. The error is related to missing scope (account). The console displays the session Id and other information properly but 'Session' field remains empty in sessions list.
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