I have implemented an email verification feature using Appwrite, but the verification process fails when the user clicks the email link. Here's what I'm working with:
Dart Code (Send Verification Email)
Future<void> sendEmailAndPasswordVerificationLink(String userId, String secret) async {
final token = await account.createVerification(url: 'http://67004d383faf2a735120.appwrite.global');
print(token.toMap());
}
Appwrite Cloud Function
import { Client, Users, Account } from 'node-appwrite';
export default async ({ req, res, log, error }) => {
const client = new Client()
.setEndpoint(process.env.APPWRITE_FUNCTION_API_ENDPOINT)
.setProject(process.env.APPWRITE_FUNCTION_PROJECT_ID)
.setKey(req.headers['x-appwrite-key'] ?? '');
const account = new Account(client);
const user = new Users(client);
try {
const { userId, secret } = req.query;
if (!userId || !secret) {
throw new Error('Missing userId or secret in query parameters');
}
const response = await account.updateVerification(userId, secret);
log(req.query);
return res.json({
success: true,
message: 'User verification successful',
data: response,
});
} catch (err) {
log(req.query);
return res.json({
success: false,
message: 'User verification failed',
error: err.message,
});
}
};
Problem:
I am successfully receiving the email, but when I click the verification link, the following error occurs:
{
"success": false,
"message": "User verification failed",
"error": "app.66f7536e00244af68e02@service.cloud.appwrite.io (role: applications) missing scope (public)"
}
It seems like there is a missing scope or permission issue, but I'm unsure how to resolve this. Could someone help me understand what this error means and how I can fix it?
Recommended threads
- Routing in other languages aside JavaScr...
This made routing easy using JavaScript https://youtu.be/_YMw268j2IU?si=FEM0EMu03GFwYhXX are there plans for other languages?
- best functions runtime for performance a...
I have a ton of functions performing tasks, big and small, like user signup document writes, cron db cleanup jobs, essentially all writes on the database are mo...
- AppwriteException: general_unauthorized_...
Hi, I currently have this logic: ```dart Future<void> loginWithGitHub(BuildContext context) async { try { await account.createOAuth2Session(provider...