2013-09-04 15 views
20

Zaten symfony2'deki hwioauthbundle hakkındaki sorularım için bir konu açtım. Symfony2 HWIOauthBundle error with responseSymfony2 HwioAuth - linkedin sitesinden tam profil alınma

Yanıt için stloyd'e teşekkürler, bu bağlantıya erişmek için paketi nasıl kullanacağımı belirlememde bana yardımcı oldu.

Sadece linkedin'den değil, aynı zamanda eğitim, beceri s.o gibi diğer bilgileri de almak istiyorum.

Bunun genellikle HwioAuth ile mümkün olup olmadığından emin değilim?

providers: 
    .... 
    my_custom_hwi_provider: 
     id: linkedin.oauth_user_provider 

firewalls: 
    main: 
     ... 
     oauth: 
      resource_owners: 
       linkedin: "/login/check-linkedin" 
      login_path: /login 
      failure_path: /login 
      oauth_user_provider: 
       service: linkedin.oauth_user_provider 

Bu benim hizmet sınıfı Sağlayıcısıdır: benim security.yml olan O benim config.yml

hwi_oauth: 
firewall_name: main 
resource_owners: 
    linkedin: 
     type: linkedin 
     client_id: %linkedin_client_id% 
     client_secret: %linkedin_client_secret% 
     scope: r_fullprofile 
     infos_url: 'https://api.linkedin.com/v1/people/~:(id,educations,languages,skills)?format=json' 
     scope:  'r_fullprofile' 
     paths: 
      educations: educations 
      languages: languages 
      skills: skills 

olduğunu Yani ben json give_out Görüldüğü üzere

<?php 

namespace XXXX\UtilBundle\Util\OAuthProvider; 

use HWI\Bundle\OAuthBundle\Security\Core\User\OAuthUserProvider; 
use HWI\Bundle\OAuthBundle\OAuth\Response\UserResponseInterface; 

class Provider 
{ 
    protected $session, $doctrine; 
    public function __construct($session, $doctrine) { 
     $this->session = $session; 
     $this->doctrine = $doctrine; 

    } 



    public function loadUserByOAuthUserResponse(UserResponseInterface $response) 
    { 
     //data from LINKEDIN response 
     var_dump($response); 
     exit; 
    } 
} 

neyi linkedin'den geliyorum. Hier probally yanıt ve eğitim alanları, becerileri boş! korumalı $ oAuthToken olarak

class HWI\Bundle\OAuthBundle\OAuth\Response\PathUserResponse#694 (4) { 
protected $paths => 
array(8) { 
'identifier' => 
string(2) "id" 
'nickname' => 
string(13) "formattedName" 
'realname' => 
string(13) "formattedName" 
'email' => 
string(12) "emailAddress" 
'profilepicture' => 
string(10) "pictureUrl" 
'educations' => 
string(10) "educations" 
'languages' => 
string(9) "languages" 
'skills' => 
string(6) "skills" 
} 
protected $response => 
array(1) { 
'id' => 
string(10) "XYXYXYXYXYXYXY" 
} 
protected $resourceOwner => 
class HWI\Bundle\OAuthBundle\OAuth\ResourceOwner\LinkedinResourceOwner#699 (8) { 
    protected $options => 
    array(8) { 
    'authorization_url' => 
    string(49) "https://www.linkedin.com/uas/oauth2/authorization" 
    'access_token_url' => 
    string(47) "https://www.linkedin.com/uas/oauth2/accessToken" 
    'infos_url' => 
    string(81) "https://api.linkedin.com/v1/people/~:(id,educations,languages,skills)?format=json" 
    'csrf' => 
    bool(true) 
    'client_id' => 
    string(12) "XYXYXYXYXYXYXY" 
    'client_secret' => 
    string(16) "XYXYXYXYXYXYXY" 
    'scope' => 
    string(29) "r_fullprofile" 
    'options' => 
    array(0) { 
    ... 
    } 
    } 
    protected $paths => 
    array(8) { 
    'identifier' => 
     string(2) "id" 
    'nickname' => 
     string(13) "formattedName" 
    'realname' => 
     string(13) "formattedName" 
    'email' => 
     string(12) "emailAddress" 
    'profilepicture' => 
     string(10) "pictureUrl" 
    'educations' => 
     string(10) "educations" 
    'languages' => 
     string(9) "languages" 
    'skills' => 
     string(6) "skills" 
    } 
    protected $defaultOptions => 
    array(6) { 
     'client_id' => 
     NULL 
     'client_secret' => 
     NULL 
     'infos_url' => 
     NULL 
     'user_response_class' => 
     string(54) "HWI\Bundle\OAuthBundle\OAuth\Response\PathUserResponse" 
     'scope' => 
     NULL 
     'csrf' => 
     bool(false) 
    } 
    protected $httpClient => 
    class Buzz\Client\Curl#700 (7) { 
     private $lastCurl => 
     resource(286) of type (curl) 
     protected $options => 
     array(2) { 
     ... 
    } 
    protected $ignoreErrors => 
    bool(true) 
    protected $maxRedirects => 
    int(5) 
    protected $timeout => 
    int(5) 
    protected $verifyPeer => 
    bool(true) 
    protected $proxy => 
    NULL 
    } 
    protected $name => 
    string(8) "linkedin" 
    protected $state => 
    NULL 
    protected $storage => 
    class HWI\Bundle\OAuthBundle\OAuth\RequestDataStorage\SessionStorage#701 (1) { 
    private $session => 
     class Symfony\Component\HttpFoundation\Session\Session#220 (3) { 
     ... 
    } 
    } 
    public $httpUtils => 
    class Symfony\Component\Security\Http\HttpUtils#230 (2) { 
    private $urlGenerator => 
    class Symfony\Bundle\FrameworkBundle\Routing\Router#233 (9) { 
    ... 
    } 
    private $urlMatcher => 
    class Symfony\Bundle\FrameworkBundle\Routing\Router#233 (9) { 
    ... 
    } 
    } 
} 
protected $oAuthToken => 
class HWI\Bundle\OAuthBundle\Security\Core\Authentication\Token\OAuthToken#696 (11) { 
    private $accessToken => 
    string(179) "XYXYXYXYXYXYXY" 
    private $rawToken => 
    array(2) { 
    'expires_in' => 
    int(5183807) 
    'access_token' => 
     string(179) "XYXYXYXYXYXYXYXY" 
    } 
    private $refreshToken => 
    NULL 
    private $expiresIn => 
    int(5183807) 
    private $createdAt => 
    int(1378302276) 
    private $tokenSecret => 
    NULL 
    private $resourceOwnerName => 
    NULL 
    private $user => 
    NULL 
    private $roles => 
    array(0) { 
    } 
    private $authenticated => 
    bool(false) 
    private $attributes => 
    array(0) { 
    } 
} 

}

=> değeri özel $ (yanlış) => BOOL

i doğrulanmış Am yetkilendirilir? Ve Linkedin'den kapsam olarak r_fullprofile ile diğer alanlara nasıl erişebilirim?

Saygılarımızla

cevap