我正在使用JWTLexikBundle和JWTRefreshTokenBundle。它工作正常,直到我想添加更多的數據到令牌有效載荷(用戶ID是準確的)。 它登錄時正常工作,但刷新令牌時不會拋出錯誤,因爲我想通過使用不同的UserProvider並使用不同的UserEntity(默認值爲Symfony\Component\Security\Core\User\User
)。現在,我有我的供應商配置如下Symfony - 通過ID獲取用戶提供商
providers:
db_user_provider:
entity:
class: PrototypeBundle\Entity\User
property: username
庫JwtRefreshTokens有自定義配置UserProvider parmeter,但我不知道是否或在那裏我可以得到這一塊上面聲明。 我想那一定是@doctrine.orm.security.user.provider
一些實例,但它是抽象的所以這這麼想的工作
gesdinet_jwt_refresh_token:
firewall: main
user_provider: '@doctrine.orm.security.user.provider'
我試圖做bin/console debug:container
來發現它,但它是無處可在那裏發現。無論如何,要獲得該服務標識而不是聲明它的特定性,然後在任何地方使用該聲明?如果沒有,如何以最合適的方式完成?使用UserRepository和properInterface就足夠了?
我想你需要定義自己的用戶提供服務:http://symfony.com/doc/current/security/custom_provider.html我沒有使用調試各地位戳:容器,看是否能找到用戶提供者服務ID,但沒有運氣。無論如何,一個自定義用戶提供者很容易實現,並且會訣竅。 – Cerad