我刚刚实施了自己的身份验证提供程序,执行facebook身份验证它只适用于一个请求,然后就是:
There is no user provider for user "Nourdine\BasicBundle\Security\User\FacebookUser"
事情是:
1 - FacebookProvider就在那里踢。 2 - 我将其注册为服务:
<service id="facebook_user_provider" class="Nourdine\BasicBundle\Security\User\FacebookUserProvider" />
3 - 并在security.xml中提供
第一个问题:为什么他现在“看到”它? 第二个问题:每次实施身份验证提供程序时,是否必须创建相关的用户提供程序?
由于
答案 0 :(得分:0)
我认为您的用户提供程序refreshUser方法有问题。当您使用会话持久性(令牌被序列化并存储在会话中)时,将使用此方法,以便可以从数据库(或其他位置)的下一个请求中获取用户。
Symfony\Component\Security\Core\User\UserProviderInterface
实现。所以不是强制性的