【问题标题】:Symfony authenticate user against remote APISymfony 针对远程 API 对用户进行身份验证
【发布时间】:2018-07-19 08:06:25
【问题描述】:

我有个问题,和这个人差不多:Symfony 3 authenticate user against remote API

但我的问题是,我该如何处理令牌?

我使用了guard,我创建了一个api服务,我可以在其中检索令牌,但是我可以将它存储在哪里?我想设置一个 cookie,但我无法从我的服务中写入 cookie,否则我将无法启动会话,所以在答案中我不明白:“将令牌存储在前端存储中”。

我真的没有办法将令牌存储在 cookie 中吗?

谢谢!

【问题讨论】:

    标签: php symfony authentication token symfony-guard


    【解决方案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']
    

    【讨论】:

    • 实际上我可以使用会话,我不知道为什么我没有考虑这个,我说我不能存储在 cookie 中,但无论如何会话是一个更好的选择。谢谢! :)
    【解决方案2】:

    不太清楚他的意思,但我认为最好的解决方案是将其存储在会话变量中。

    【讨论】:

      猜你喜欢
      • 2017-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      • 2014-03-31
      • 2020-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多