TypeScript
const { Client, Account } = require('appwrite');
const client = new Client();
client
.setEndpoint('xxxxxxxxxxxxxxxxxxxxx')
.setProject('xxxxxxxxxxxxxxxxx');
const authenticateAndGenerateJWT = async (email, password) => {
try {
const account = new Account(client);
// Step 1: Authenticate the user and create a session
const session = await account.createEmailPasswordSession(email, password);
console.log('Session created successfully:', session);
// Step 2: Set the session token for subsequent requests
client.setSession(session); // Use the session ID as the token
// Step 3: Generate JWT
const jwt = await account.createJWT();
console.log('JWT created successfully:', jwt.jwt);
return jwt.jwt; // Return the generated JWT
} catch (error) {
console.error('Error:', error.message);
throw new Error('Failed to authenticate or create JWT.');
}
};
error
TypeScript
Error: User (role: guests) missing scope (account)
Error: Failed to authenticate or create JWT.
TL;DR
To generate a JWT after authentication, developers should ensure the user has the necessary scope. In this case, the error 'User (role: guests) missing scope (account)' indicates a lack of permissions. Make sure the guest role has the 'account' scope enabled in the Appwrite console.Recommended threads
- general_route_not_found - Auth Guide
If you’ve just added a subdomain to your project, verified your DNS records, and confirmed your SSL certificate is working, but you're still hitting a `general_...
- Can't resume paused project
I have logged in in incognito, done the email verification and still get the invalid fingerprint error. What's the issue.
- Local appwrite run functions --user-id n...
Hi, I'm running into an issue when testing Appwrite functions locally with user impersonation. I'm using a self-hosted Appwrite instance and running functions ...