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
- Not allowed permission to upsert a prese...
```js const presenceID = ID.unique(); setPID(presenceID); const presence = await presences.upsert({ presenceId: presenceID, status: "online"...
- Finding job
Hi. I am a full-stack developer with experience in developing scalable and user-friendly web applications. I handle both front-end and back-end development, im...
- Can't really use the S3 storage device
hi, I've linked my local MinIO Instance (it's just for testing, not for prod.) to my appwrite instance, when i'm uploading a file it's getting uploaded to the S...