我有一个问题,或多或少与这个家伙相同:Symfony 3 authenticate user against remote API
但我的问题是,我该怎么处理令牌?
我使用了后卫,我做了一个api服务,我可以在那里检索令牌,但我可以在哪里存储它?我想设置一个cookie,但我不能从我的服务中编写cookie,否则我将无法启动会话,所以在答案中我不明白:“在前端存储中存储令牌”。
我真的没办法将令牌存放在cookie中吗?
谢谢!
答案 0 :(得分:2)
为什么不能使用服务会话?将会话组件注入您的服务,您就可以了。
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']
答案 1 :(得分:1)
它的意思不太清楚,但我认为最好的解决方案是将它存储在会话变量中。