我正在客户端登录/注册用户,但是我想检查在页面登陆时是否从服务器登录了他们的请求。
这可能吗?
答案 0 :(得分:0)
您应该让服务器端检查用户是否已通过身份验证,这是一种安全的方法,因为您不信任验证客户端,因为用户可以更改客户端代码。
答案 1 :(得分:0)
您可以创建一个Cloud Code函数来检查用户是否已登录。 一些简单的例子:
Parse.Cloud.define('isLoggedIn', async (req) => {
const { user } = req;
if (!user) {
return { isLogged: false };
}
const sessionToken = user.getSessionToken();
try {
const result = await Parse.Cloud.httpRequest({
url: `${Parse.serverURL}/sessions/me`,
headers: {
"X-Parse-Application-Id": Parse.applicationId,
"X-Parse-JavaScript-API-Key": Parse.javaScriptKey,
"X-Parse-Session-Token": sessionToken,
}
});
return { isLogged: true }
} catch (e) {
return { isLogged: false }
}
});
然后您可以像下面这样使用此云代码功能:
const isLoggedInFunc = async () => {
const { isLoggedIn } = await Parse.Cloud.run("isLoggedIn");
if (isLoggedIn) {
// if logged in do what you want
} else {
// if not logged in do what you want
// for example redirect user to login page or something ...
}
}
希望这会有所帮助:)