LinkedIn OAuth2: "Unable to verify access-token"
Funktioniert es , wenn, und nur wenn der Benutzer angemeldet ist LinkedIn an der Zeit der Herstellung der OAuth2 Anfrage.
Wenn der Benutzer nicht angemeldet ist dann werden wir auf einen Fehler stoßen.
Folge unserer Handlungen:
- erfolgreich Holen Sie sich das frische Zugriffstoken
- mit dem access token, post an den api-Endpunkt
https://api.linkedin.com/v1/people/\~
Danach haben wir eine 401-Fehlermeldung mit folgendem Inhalt:
{
"errorCode": 0,
"message": "Unable to verify access token",
"requestId": "C0DUCX81SA",
"status": 401,
"timestamp": 1421946470523
}
Manchmal, nachdem einige Zeit vergangen ist, eine Wiederholung mit dem gleichen Access-Token gibt ein 200. Manchmal nicht.
Wenn der Benutzer sich anmeldet LinkedIn an diesem "401" Zeit dann magisch die zuvor holte access token zu arbeiten beginnt.
Ich bin ratlos, wie dieses Problem zu lösen, wie es scheint ein Problem zu sein bei LinkedIn.
Hat jemand irgendwelche Vorschläge oder hat jemand dieses Verhalten vor?
Wir haben versucht, cookie-Einstellungen, warten Sie die Zeit vor unserer Anfrage etc.
Wir sind das hinzufügen von LinkedIn-OAuth2-Authentifizierung, um Zotonic [1], aber jetzt sind Sie stecken mit einer nicht funktionierenden Modul.
Edit:
Jemand bezeichnet zwei Diskussionen auf LinkedIn an. Seine Antwort nun bedauernd und verschwand aus der Diskussion unten.
Sind die links:
https://developer.linkedin.com/forum/unable-verify-access-token
Ich habe versucht, alle Vorschläge, die in diesen Diskussionen, ohne Erfolg.
Edit #2:
Überprüfung der ersten Diskussion auf LinkedIn zeigt, dass ich nicht der einzige bin, der mit diesen Konsistenz-Probleme. Etwas bei LinkedIn schief gehen, wenn der Benutzer deaktiviert cookies oder melden Sie sich im LinkedIn-während die OAuth "Tanz" https://developer.linkedin.com/forum/unable-verify-access-token#comment-36950
Update
Gelöst, Dank Matthijs Bierman, siehe Sie Antworten unten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wir am Telefon gesprochen, stellt sich heraus, Sie laufen in das gleiche problem wie hier. LinkedIn nicht akzeptiert
Authentication
header und erwartet einen request-parameter:oauth2_access_token
.Für mich die https://api.linkedin.com/v1/people/~?format=json&oauth2_access_token=%5BaccessToken%5D hat nicht funktioniert.
Hinzufügen Anfrage-header
Authorization: Bearer [accessToken]
funktionierte nicht, bis ich ging durch linked-in sdk und getestet und fand heraus, dass Sie auch verlangen, dass Sie auf add-request-header
x-li-src: msdk
Werden diese beiden Header der Aufruf https://api.linkedin.com/v1/people/~?format=json gearbeitet.
Hoffentlich Linkedin behebt diese undokumentierte Anforderung bald...
AccessToken von mobile-SDK gibt diese Fehlermeldung:
Werden Sie nicht face ein Problem mit accessTokens erstellt mit Hilfe von web - OAuth 2.0 Protokoll. Dieses problem tritt nur bei mobile(iOS/Android) SDK, wenn der accessToken wird von back-end zum abrufen von Benutzer-Informationen.
Lösung: unten 2 überschriften
Beispiel:
Url:
https://api.linkedin.com/v1/people/~?format=json
Header(s):
Hinweis:
Wenn AccessToken generiert wird, mithilfe von OAuth 2.0 verwenden, können Sie die gleichen oben genannten api, durch das entfernen nur der zweite header(x-li-src) .
Mit Hilfe von Matthijs Bierman fanden wir eine Lösung für unser problem.
Wir authentifiziert mit einem
Authorization: Bearer ....
header.Wenn wir eine
oauth2_access_token
Abfrage argument statt, dann funktioniert es in beiden Anwendungsfällen mit und ohne angemeldeten Benutzer LinkedIn.Fazit: nicht die Genehmigung header und verwenden Sie die oauth2_access_token Abfrage argument statt.
Hier gilt das gleiche, jedes mal war ich immer neues access_token musste ich warten, paar Minuten, bis er gültig war. Dies war nicht akzeptabel.
Nahm ich einen Blick, wie die verschiedenen Seiten tun, die Anmelden mit LinkedIn und hier ist eine Lösung, die für mich gearbeitet.
Beim Austausch AUTH_CODE, um zu bekommen, ACCESS_TOKEN, verwenden Sie GET-Methode anstelle von POST, z.B.:
Grails integration mit LinkedIn OAuth2 Beispiel:
https://github.com/rgrebski/samples/tree/master/grails-linkedin-integration
Sehe ich das gleiche problem; jedoch die Abfrage param ist nicht für mich arbeiten.
Er zeichnet sich ebenso wie die Frage beschrieben:
1) ich habe einen gültigen token
2) Der Benutzer ist abgemeldet linkedin
3) Der Antrag für den Benutzer Profil nicht
4) Warten Sie fünf Minuten, und es gelingt
Können Sie sehen, meine Anfrage/Antwort unten:
Ich habe versucht, alle oben genannten Lösungen, aber nicht mit mir arbeiten. Ich habe meine url von
zu
es funktionierte einwandfrei.
Den authentifizierungsstatus des Benutzers auf LinkedIn.com (ob oder nicht Sie sind angemeldet) hat keinen Einfluss auf einen gültigen OAuth-access-token. In anderen Worten, kann der Benutzer Abmelden LinkedIn.com und, dass der token noch arbeiten, bis er entweder aufgehoben oder abgelaufen ist.
Gibt es eine Möglichkeit, dass man die Generierung eines neuen token? Machen würde die Vorherige ungültig. Dass die Fehlermeldung, die du geteilt hast, ist in der Regel verursacht, wenn ein token wurde aktualisiert, und du bist eine API-Aufruf mit dem vorherigen token
Keiner der oben genannten für mich gearbeitet. Weiß jemand, ob es eine Lösung dafür?
manchmal arbeiten und manchmal nicht ohne änderung des Codes.
https://api.linkedin.com/v1/people/~?format=json&oauth2_access_token=<token>
Standardmäßig ist zurück Antwort in XML, hinzufügen
format=json
.