Iam stuck with this, in nextjs 14 with ssr. When one user is invited, send email invitation delivered ok, this verification go to public route /verify, with form to change password and update membership, but click to send buton, with admin client (with api key) return (role: applications) missing scope (public).
My Create Admin Client
export async function createAdminClient(secret?: string) {
const client = new Client()
.setEndpoint(process.env.NEXT_PUBLIC_APPWRITE_ENDPOINT as string)
.setProject(process.env.NEXT_PUBLIC_APPWRITE_PROJECT as string)
.setKey(process.env.NEXT_APPWRITE_KEY as string);
if (secret) {
client.setSession(secret);
}
return {
get account() {
return new Account(client);
},
get ID() {
return ID;
},
get db() {
return new Databases(client);
},
get users() {
return new Users(client);
},
get client() {
return client;
},
get team() {
return new Teams(client);
},
};
}
My server action
'use server';
async function resetPasswordAction(formData: FormData) {
const { team, account: adminAccount } = await createAdminClient();
try {
const formObj = Object.fromEntries(formData.entries());
const resetPasswordData = resetPasswordSchema.safeParse(formObj);
if (resetPasswordData.error) {
console.error(resetPasswordData.error);
throw new Error(
'Error al validar los datos de entrada, intenta nuevamente.'
);
}
// For invitation to team
if (
resetPasswordData.data?.membershipId &&
resetPasswordData.data?.teamId &&
resetPasswordData.data?.userId &&
resetPasswordData.data?.secret
) {
const membershipUpdate = await team.updateMembershipStatus(
resetPasswordData.data.teamId,
resetPasswordData.data.membershipId,
resetPasswordData.data.userId,
resetPasswordData.data.secret
);
FYI, it's best to wrap code in backticks to format a bit nicer. You can use 1 backtick for inline code (https://www.markdownguide.org/basic-syntax/#code) and 3 backticks for multiline code (https://www.markdownguide.org/extended-syntax/#syntax-highlighting).
team.updateMembershipStatus() is meant to be executed without any session or API key. You can't use the admin client to make that call
Recommended threads
- All My Project is Gone
Hello everyone, please help. Why have all my projects suddenly disappeared? I received a warning via email about one of my projects being paused. When I clicked...
- > AppwriteException: The requested servi...
When trying to read or write from my database I get the following error: > AppwriteException: The requested service is disabled. You can enable the service from...
- 500 Server error
getting same 500 status This is my appwrite project: https://cloud.appwrite.io/console/project-fra-691932db0036241caa0e/overview/platforms Help how to open th...