);
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);
}
}
を、私はそれがユーザーのパブリックプロファイルフィールドのためだと思います。 – malcolm
あなたはこのバンドルのhttps://github.com/knpuniversity/oauth2-client-bundleをガード認証で聞いたことがありますか?あなたもカスタムプロバイダを書くことができます。 – malcolm