2016-05-19 6 views
0

Ich bin die Integration der Login mit LinkedIn in Symfony Framework mit Happyr/LinkedIn-API-client. Aber ich bekomme Konnte nicht erhalten Token Ausnahme.Anmeldung mit LinkedIn in Symfony

Ich füge Screenshot der Ausnahme an.

enter image description here

Im Folgenden finden Sie den Code in der Nähe von I-Fehler bin immer.

protected function fetchNewAccessToken() 
    { 
     $storage = $this->getStorage(); 
     $code = $this->getCode(); 

     if ($code !== null) { 
      $accessToken = $this->getAccessTokenFromCode($code); 
      if ($accessToken) { 
       $storage->set('code', $code); 
       $storage->set('access_token', $accessToken); 

       return $accessToken; 
      } 

      // code was bogus, so everything based on it should be invalidated.  
      $storage->clearAll(); 
      throw new LinkedInApiException('Could not get access token'); 
     } 

     // as a fallback, just return whatever is in the persistent     
     // store, knowing nothing explicit (signed request, authorization   
     // code, etc.) was present to shadow it (or we saw a code in $_REQUEST,  
     // but it's the same as what's in the persistent store)      
     return $storage->get('access_token', null); 
    } 

Antwort

0

Ich würde Ihnen besser vorschlagen, das Fahrrad nicht zu erfinden. Und das Authentifizierungs-Fahrrad ist das Schlimmste überhaupt, wegen möglicher Sicherheitsfehler.

Verwenden Sie nur bereits implementierte OAuth-Clients, die LinkedIn als Authentifizierungsanbieter unterstützen.

Ich persönlich bevorzuge die HWIOAuthBundle. Es ist ziemlich einfach.

https://github.com/hwi/HWIOAuthBundle

LinkedIn Dokumentation: https://github.com/hwi/HWIOAuthBundle/blob/6c00622a9b87e475236949175f62bf4146c43216/Resources/doc/resource_owners/linkedin.md

Konfiguration

# app/config.yml 

hwi_oauth: 
    resource_owners: 
     any_name: 
      type:   linkedin 
      client_id:  <client_id> 
      client_secret: <client_secret> 
      scope:   <scope>