【发布时间】:2022-09-27 11:42:54
【问题描述】:
我无法使用用户在前端登录时创建的 JWT 向我的后端发出请求。
每次我尝试,即使对集合的访问权限设置为角色:全部,我从后端收到此错误:
{
\"statusCode\": 500,
\"code\": \"401\",
\"error\": \"Internal Server Error\",
\"message\": \"<User> (role: member) missing scope (collections.read)\"
}
我在服务器部分使用 Appwrite Node SDK,在前端使用 Appwrite Web sdk。
这是我生成 JWT 令牌的登录脚本:
import { Appwrite } from \"appwrite\";
export const login = async (email, password) => {
const api = new Appwrite();
api.setEndpoint(import.meta.env.VITE_APPWRITE_URL);
api.setProject(import.meta.env.VITE_APPWRITE_PROJECT);
await api.account.createSession(email, password);
const user = await api.account.get();
const jwt = await api.account.createJWT();
return {
jwt: jwt.jwt,
user: {
id: user.$id,
email: user.email,
name: user.name
},
}
}
我错过了什么?
注意:我在 Docker 容器中运行所有内容。
标签: javascript docker account appwrite