Symfony аутентифицирует пользователя по удаленному API

У меня есть проблема, более или менее такая же, как этот парень: Symfony 3 аутентифицирует пользователя по удаленному API

Но моя проблема в том, что мне делать с токеном?

Я использовал Guard, я сделал API-сервис, где я могу получить токен, но где я могу его сохранить? Я хотел установить cookie, но не могу записать cookie из своего сервиса, или я не смогу начать сеанс, поэтому в ответе я не понимаю: «хранить токен в вашем внешнем хранилище».

Неужели я не могу сохранить токен в cookie?

Спасибо!

0

Решение

Не очень понятно, что он имел в виду, но я думаю, что лучшее решение — сохранить его в переменной сессии.

1

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

Почему не должно быть возможности не использовать сеансы из служб? Добавьте компонент сеанса в свой сервис, и все готово.

class TheService {
public function __construct(SessionInterface $session) {
$this->session = $session;
}

public function stuff() {
$this->session->set('my_token', 'h3ll0');
}
}

Увидеть http://symfony.com/doc/current/components/http_foundation/sessions.html

В случае, если вы используете текущую версию Symfony, его функция автоматической проводки позаботится о введении session сервис, в противном случае вам нужно будет настроить сервис в вашем services.yml:

services:
my_service:
class: AppBundle\Service\TheService
public: true
arguments: ['@session']
2

По вопросам рекламы [email protected]