2015-03-11 2 views
6

nach 1 Tag der Forschung, habe ich mit dem folgenden Problem beendet. Ich baue eine Web-App mit ember.js und derzeit implementiere ich LinkedIn Login, mit Linkedin Javascript sdk. Das Problem, das ich habe, ist, dass, nachdem ich Benutzerinformationen (Token, E-Mail, Vorname und usw.) erhalten habe, ich dieses Token auf der Serverseite verifizieren muss, um eine große Sitzung zu erhalten. Leider ist die Dokumentation für mich nicht sehr klar. Ich kann mit IN.ENV.auth auf ein Token (oder eine Art Token) zugreifen, aber wenn ich versuche, eines von beiden zu validieren, erhalte ich eine "ungültige Anfrage". Auf der Serverseite Ich bin mit Knoten und einen Beispielcode sieht wie folgt aus:LinkedIn verify user auth token Server Seite

var request = require('request'); 
var options = { 
    url: 'https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code=TOKEN_RECIEVED_THROUGH_IN.ENV.auth&redirect_uri=my-domain&client_id=API_CLIENT_ID&client_secret=API_SECRET_KEY' 
}; 
request(options,function(err,res,body){ 
    console.log(body); 
}); 

Die Antwort des sdk ist wie folgt aus:

anonymous_expires_in: 1800 
anonymous_token: "4u948tas123asfK9DJx9HFYJgcsBFlhIFu93gG" 
api_key: "API_KEY" 
is_set_client_auth_cookie: false 
member_id: "4a13sdasFeD" 
oauth_expires_in: 1800 
oauth_token: "66Dy9V123lL7H823ddl-5L-KVmg184k0dhAaS" 

Vielen Dank im Voraus.

Antwort

2

LinkedIn-Authentifizierungstoken, die vom JS-SDK und vom serverseitigen OAuth gewährt werden, sind nicht identisch.

Es ist ein Prozess auf LinkedIn Entwickler-Website dokumentiert, die erklären, wie für einen REST-API/serverseitige Token eine JS Token auszutauschen: https://developer-programs.linkedin.com/documents/exchange-jsapi-tokens-rest-api-oauth-tokens

+2

URL nicht gefunden, müssen einige Details auch beantworten hinzuzufügen. Diese Antwort ist jetzt nicht nützlich –

+0

@SameerKazi, hallo, hast du es geschafft, eine Lösung zu finden? Ich habe mit dem gleichen Ansatz gearbeitet, aber ich kann dieses Dokument auch nicht finden. Ich habe gelesen, dass dies in Zukunft entfernt wird, da OAuth2 nur eine Option für Zugriffstoken sein wird, die für REST-API-Aufrufe verwendet werden können. – EnterSB

+1

Derzeit gibt es keine verfügbaren Endpunkte für die Token-Validierung über die LinkedIn-APIs. Sie können nur OAuth 2-Token anfordern (und einen speziellen Unterfall: Aktualisieren). –

7

Es scheint, dass, wenn Sie fügen Sie einfach Header oauth_token-GET Anfrage es, funktioniert:

GET /v1/people/~:(id,firstName,lastName,siteStandardProfileRequest,picture-url,email-address)?format=json HTTP/1.1 
Host: api.linkedin.com 
oauth_token: your-token-here 

PS Aber ich bin nicht sicher, dass es kontinuierlich arbeiten, da die Dokumentation ich nicht

gelesen haben
+1

arbeitete für mich. Vielen Dank! – Zackie

+0

Danke, einfach und sauber, funktioniert für mich –

1

Für jemanden, der Gültigkeit von Token über Postman überprüfen muss oder etc ...

Sie können dies erreichen, indem er diesen Antrag gestellt haben nächste Parameter ...

Beispiel:

Method GET: 
https://api.linkedin.com/v1/people/~?format=json 

Headers: 
Authorization Bearer "here you add your access token" 
Content-Type application/json 
x-li-src msdk