2016-11-20 45 views
0

有人能告訴我爲什麼symfony沒有閱讀正確的PHPSESSID,而是閱讀它的一些例子(下面的例子),我使用LEXIK進行身份驗證,使用FOSRestBundle進行API。以下是安全配置(我認爲這是它)。這是造成問題,但我不知道,Symfony沒有閱讀phpsessid right

enter image description here

我送phpsessid

enter image description here

安全配置

security: 
    providers: 
     in_memory: 
      memory: ~ 
     user_provider: 
      id: app.user_provider 

    firewalls: 

     login: 
      pattern: ^/api/login 
      stateless: false 
      anonymous: true 

     api: 
      pattern: ^/api 
      provider: user_provider 
      stateless: true 
      guard: 
       authenticators: 
        - lexik_jwt_authentication.jwt_token_authenticator 

    access_control: 
     - { path: ^/api/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/api,  roles: IS_AUTHENTICATED_FULLY } 

更新1

失去了會話後,我userprovider無法驗證用戶,所以它提供了此錯誤

enter image description here 謝謝

回答

1

如果它是你正在談論JWT認證,這是一個基於令牌身份驗證,因此不使用PHPSESSID

它傳遞一個令牌,每個請求在服務器上進行驗證以進行驗證。

REST像HTTP一樣無狀態,因此服務器上的REST客戶端沒有會話。

+0

我使用會話通過用戶提供的身份驗證用戶,我創建了 – user26776

+0

REST是無狀態的,所以在發出REST請求時沒有會話。你需要做的是閱讀JWT並認證你的用戶。 LexikJWTBundle對此有很好的支持。 –