我希望有人可以帮我解决我如何实施“记住我”的问题。 Parse中的函数。
首次创建ParseUser时,也会使用它们创建ParseSession,但是它的有效期为1年。问题是,expiryDate是只读的,所以我无法改变它。即便如此,我对这些ParseSession如何工作感到困惑,因为他们实际上并没有存储任何cookie。
我应该删除在注册时自动创建的ParseSession,并使用我自己的cookie和会话来处理这个问题,还是Parse提供了一种更简单的方法?
使用我迄今为止尝试的代码进行编辑:
到目前为止,我尝试使用PHP自己的cookie函数在没有Parse的情况下执行此操作:
$user = ParseUser::logIn($email, $password);
$_SESSION['mySession'] = serialize($user);
$_SESSION['start'] = time(); // Taking now logged in time.
if ($rememberMe) {
// End session in 1 month.
$_SESSION['expire'] = $_SESSION['start'] + (31 * 24 * 60 * 60);
} else {
// End session in 1 hour.
$_SESSION['expire'] = $_SESSION['start'] + (5);
}
$parseSession = $user->getSessionToken();
// Note I got stuck here as I realised the expiryDate is readOnly in the docs.
请注意,由于我正在使用
创建的会话,因此此代码现在无法按预期工作session_start();
ParseClient::setStorage(new ParseSessionStorage());
似乎正在创建一个只持续浏览器会话的会话 - 但是我会调查这个并且我相信/希望它与存储会话的PHP有关(我检查了.ini并且它说了Windows我需要手动配置它,我还没有完成。)