Можно ли проверить, зарегистрирован ли пользователь Parse со стороны сервера? - PullRequest
0 голосов
/ 02 мая 2019

Я вхожу в систему / регистрирую пользователей на стороне клиента, но я хотел бы проверить, не входили ли они с сервера после запроса на получение целевой страницы.

Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 14 мая 2019

Вы можете создать функцию облачного кода, чтобы проверить, вошел ли пользователь в систему. Несколько простых примеров:

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 ...
  }
}

Надеюсь, это поможет:)

0 голосов
/ 02 мая 2019

У вас должно быть что-то на стороне сервера, которое проверяет, аутентифицирован ли пользователь, это безопасный способ, поскольку вы не можете доверять проверке на стороне клиента, так как код на стороне клиента может быть изменен пользователем.

...