Вы должны реализовать собственный пользовательский провайдер, который будет использовать HWIOAuthBundle для загрузки данных пользователя (аналогично, например, если вы хотите загрузить пользователей из собственной таблицы SQL, например).
Вот хороший пример: https://gist.github.com/danvbe/4476697
И документ в Symfony в How to Create a custom User Provider
EDIT
Контроллер не имеет доступа к UserResponseInterface HWIOAuthBundle, ваш UserProvider делает, так что если вы хотите получить доступ к realName пользователя в контроллере, вы должны сделать это через пользовательский объект.
поставщик Пользователь:
...
public function loadUserByOAuthUserResponse(UserResponseInterface $response)
{
$userEmail = $response->getEmail();
$user = $this->userManager->findUserByEmail($userEmail);
// if null just create new user and set it properties
if (null === $user) {
$realName = $response->getRealName();
$user = new User();
$user->setRealName($realName);
...
Контроллер:
...
public function defaultAction(Request $request)
{
$this->getUser()->getRealName();
...
спасибо. Я использую этот пример, но я не понимаю, как я могу использовать getRealName(); в defaultController. Какие файлы следует подключать? Я буду очень признателен за использование методов пучка контроллеру – Alexander
благодаря @ honza-rydrych но есть ли запрос к api, даже если мы не вызываем метод getRealName()? , например, мы называем $ this-> GetUser() -> getEmail() (из базы данных) и в то же время есть запрос на API социальной сети это решение не очень эффективно :( – Alexander
Я думаю, что мы говорим о разных вещах. Одна вещь, когда вам нужно аутентифицировать пользователя, вы должны извлекать данные из того, где они есть (sqlDB или API социальной сети), и предоставлять эти данные безопасности Symfony - это нужно сделать провайдер, и это то, что я описал выше. Другое дело, когда вы хотите играть с oAuth непосредственно в действии контроллера, тогда есть хороший пример в репозитории HWIOAB: https://github.com/hwi/HWIOAuthBundle/ блоб/ведущий/контроллер/ConnectController.php –