我正在尝试设置HWIOAuthBundle
与FOSUserBundle
.
在制作自己的扩展用户提供程序时FOSUBUserProvider
,我执行了以下操作:
namespace Naroga\Reader\CommonBundle\Service\Security;
use HWI\Bundle\OAuthBundle\Security\Core\User\FOSUBUserProvider;
use HWI\Bundle\OAuthBundle\OAuth\Response\UserResponseInterface;
class NarogaUserProvider extends FOSUBUserProvider {
public function loadUserByOAuthUserResponse(UserResponseInterface $response) {
[...]
}
}
我的 services.yml 如下:
naroga.reader.common.security.user_provider:
class: Naroga\Reader\CommonBundle\Service\Security\NarogaUserProvider
arguments: [ @fos_user.user_manager ]
每当我运行程序时,我都会收到以下错误:
Argument 2 passed to HWI\Bundle\OAuthBundle\Security\Core\User\FOSUBUserProvider::__construct() must be of the type array, none given, called in
这很有意义,因为FOSUBUserProvider::__construct
' 的签名是public function __construct(UserManagerInterface $userManager, array $properties)
.
我不知道将什么定义为我的服务的第二个参数,以便它可以覆盖FOSUBUserProvider
. 我一直在谷歌上搜索它,我发现的只是人们有同样的问题,没有答案。
我将永远感谢温柔的灵魂告诉我第二个参数必须是什么才能符合 FOSUBUserProvider 的签名。
谢谢你。