2016-09-04 8 views
0

oauth2サーバーをHWIOAuthBundleで設定しようとしていますが、HWIOAuthBundleが設定への応答として何を期待しているのかを明確にしたいと考えていますinfos_urlinfos_urlからHWIOAuthBundleに期待されるものは何ですか?

私はそれがjsonファイルを期待していると思います。だから、そのフィールドは何ですか? リンクがあれば、私は満足しています。私はそれを行うことができる方法を見つけ

+0

を、私はそれがユーザーのパブリックプロファイルフィールドのためだと思います。 – malcolm

+0

あなたはこのバンドルのhttps://github.com/knpuniversity/oauth2-client-bundleをガード認証で聞いたことがありますか?あなたもカスタムプロバイダを書くことができます。 – malcolm

答えて

1

);

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 

ありがとう!あなたは次のようにユーザーのための簡単な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); 
    } 
} 
関連する問題