2016-09-04 9 views
0

Я пытаюсь настроить мой сервер oauth2 на HWIOAuthBundle, и я хотел бы получить некоторые пояснения относительно того, что HWIOAuthBundle ожидает как ответ на правильную конфигурацию infos_url?Что HWIOAuthBundle ожидает от infos_url?

Я думаю, что он ожидает файл json. Итак, каковы его области? Если у вас есть ссылки, я буду счастлив.

hwi_oauth: 
    firewall_name: main 
    resource_owners: 
     battlenet: 
      type: oauth2 
      client_id: "%client_id%" 
      client_secret: "%client_secret%" 
      access_token_url: %path%/oauth/token 
      authorization_url: %path%/oauth/authorize 
      infos_url: %path%/user/me 
      scope: "read" 
      user_response_class: HWI\Bundle\OAuthBundle\OAuth\Response\PathUserResponse 
      paths: 
       identifier: id 
       nickname: id 
       realname: id 

Спасибо;)

+0

Я думаю, что это для пользователей полей общественного профиля. – malcolm

+0

Кстати, вы слышали об этом пакете https://github.com/knpuniversity/oauth2-client-bundle с защитой проверки подлинности, вы также можете написать своего настраиваемого поставщика. – malcolm

ответ

1

Я нашел, как это можно сделать! Вы должны создать простой API для пользователей следующим образом:

В маршрутизацией:

# app/routing.yml 
api_users: 
    pattern: /api/users.json 
    defaults: { _controller: AppOAuthServerBundle:User:getUser } 
    options: 
     i18n: false 

Контроллер:

<?php 
namespace App\OAuthServerBundle\Controller; 

use App\GeneralBundle\Entity\User; 
use FOS\RestBundle\Controller\FOSRestController; 

class UserController extends FOSRestController 
{ 
    public function getUserAction() 
    { 
     $user = $this->get('security.context')->getToken()->getUser(); 

     if ($user instanceof User) { 

      $data = array(
       'id' => $user->getId(), 
       'username' => $user->getUsername(), 
       'realname' => $user->getFirstname().' '.$user->getLastname(), 
       'email' => $user->getEmail(), 

      ); 
     } else { 
      $data = array(); 
     } 


     $view = $this->view($data, 200) 
      ->setTemplate('AppOAuthServerBundle:Default:index.html.twig') 
      ->setFormat('json') 
      ->setTemplateVar('user'); 

     return $this->handleView($view); 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^