cakephp 3 и выход из путаницы

У меня возникли проблемы с тем, чтобы обернуть голову вокруг того, все ли работает так, как задумано.

У меня есть простая реализация cakephp3, cake-auth0 (https://github.com/jsoftb/auth0) и я использую форму авторизации auth0.

Этот поток работает просто отлично.

example.com/users/login -> form -> my-domain.auth0.com -> example.com/users/login?code=secret

$auth_code = $this->request->query('code', null);
if(!is_null($auth_code)) {
$user = $this->Auth->identify();
if($user) {
$this->Auth->setUser($user);
return $this->redirect($this->Auth->redirectUrl()); // example.com/
}
}

Выход пользователя из системы — вот где у меня проблемы.

example.com/users/logout -> auth0-domain (kill cookie) -> example.com

public function logout() {
return $this->redirect($this->Auth->logout());
// $this->redirect('http://auth0.domain?returnTo=http://example.com/');
}
public function beforeFilter(Event $event) {
parent::beforeFilter($event);
$this->Auth->allow('logout'); // Appears to do nothing
}

Это успешно регистрирует меня и выходит из auth0 просто отлично.
Я остаюсь зарегистрированным в пироге однако, и это сводит меня с ума.
Моя страница входа в систему с некоторыми выходными данными пользователя сеанса показывает, что я вошел в систему, и я могу получить доступ к странице example.com/users. Я не могу просмотреть его, пока не вошел в систему.

Я еще не создал никакой базы данных для пользователей, если это поможет.

Если не считать жестокости и уничтожения всех сессий / файлов cookie, используя только php, у кого-нибудь еще есть идеи?


Обновить: Много копал через код. Ванильный Cake Authcomponent :: logout ничего не делает. Мне удалось получить что-то, что будет работать для меня, убивая вручную сеанс какой-то.

Я оставлю это, потому что я знаю, что какой-то гуру придет в какой-то момент.

Я смог добиться выхода из (торта), как это:

public function logout() {
$url = $this->Auth->logout();
$this->request->session()->destroy();
return $this->redirect($url);
}

Вызовите функцию выхода из системы AuthComponent и сохраните строку URL-адреса ответа.

Уничтожьте сеанс запроса, потому что выход из системы не сделал этого.

Перенаправление.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector