Symfony 2.8 REST API:使用令牌和用户会话进行身份验证

时间:2018-04-17 09:35:00

标签: symfony session authentication access-token symfony-2.8

我有一个WebApp,它使用FosUserBundle在GUI中使用Username / Passwd进行登录,并使用带有Guard标头的GuardAuthenticator(无状态)对REST API进行身份验证。

现在我将通过ajax在WebApp GUI中使用REST API函数。但并非每个用户都有API令牌。

是否可以在GuardAuthenticator中获取现有的用户会话并将其用于针对REST API进行身份验证?

1 个答案:

答案 0 :(得分:0)

Rest API现在位于不同的路径下:

路由:

MyApiBundle:
  resource: "@MyApiBundle/Resources/config/routing.yml"
  type:     rest
  prefix:   /{apiroot}
  defaults:
    - apiroot: api
  requirements:
    apiroot:  ^api|apii$

两者都启用了FOS Rest:

fos_rest:
  zone:
    - { path: ^/api/* }
    - { path: ^/apii/* }

第一个(/ api / *)受GuardAuthenticator保护,第二个(/ apii / *)受FOS用户保护,供内部使用。