我们正在使用HWIOAuhtBundle进行身份验证,因此请使用此类用户提供程序接口:
class OAuthUserProvider implements
UserProviderInterface , OAuthAwareUserProviderInterface
{
...
public function loadUserByUsername($username)
{
...
}
public function loadUserByOAuthUserResponse(UserResponseInterface $response)
{
...
}
}
是否有办法在OAuthUserProvider类的方法中访问config.yml中指定的参数,例如facebook app id?
hwi_oauth:
resource_owners:
facebook:
type: facebook
client_id: %fb_app%
或如何访问ServiceContainer?然后通过这种方式获得parms: http://symfony.com/doc/current/components/dependency_injection/parameters.html
答案 0 :(得分:0)
可以将其作为OAuthUserProvider构造函数的参数传递。
1)使用正确的参数名称向服务添加参数。
;services.yml
services:
my_user.oauth_user_provider:
class: %my_user.oauth_user_provider.class%
arguments: [%facebook_secret%]
2)在类ctor中添加一个参数。
//OAuthUserProvider.php
class OAuthUserProvider implements
UserProviderInterface , OAuthAwareUserProviderInterface
{
public function __construct($secret)
{
...
}
...
}