Symfony根据远程API对用户进行身份验证

I have an issue, more or less the same as this guy: Symfony 3 authenticate user against remote API

But my problem is, what do I do with the token?

I used guard, I made an api service where I can retrieve the token, but where can I store it? I wanted to set a cookie but I can't write the cookie from my service, or I won't be able to start the session, so in the answer I don't understand the: "store token in your frontend storage".

There is really no way for me to store the token in a cookie?

Thank you!

It's not so clear what he meant, but i think the best solution is storing it in the session variable.

Why shouldn't it be possible not to use sessions from services? Inject the session component into your service and you're good to go.

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

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

See http://symfony.com/doc/current/components/http_foundation/sessions.html

In case you're on a current version of Symfony its autowiring feature will take care of injecting the session service, otherwise you'd need to configure the service in your services.yml:

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