LinkedIn OAuth2: "Zugriffs-Token konnte nicht überprüft werden"

7

Es funktioniert genau dann, wenn der Benutzer zum Zeitpunkt der Anforderung von OAuth2 bei LinkedIn angemeldet ist.

Wenn der Benutzer nicht angemeldet ist, tritt ein Fehler auf.

Reihenfolge unserer Aktionen:

  • das neue Zugriffstoken erfolgreich abrufen
  • Verwenden Sie das Zugriffstoken, und senden Sie es an den api-Endpunkt https://api.linkedin.com/v1/people/\~

Danach erhalten wir eine 401 mit folgendem Inhalt:

%Vor%

Manchmal, nach einiger Zeit, gibt eine Wiederholung mit dem gleichen Access Token eine 200. Manchmal nicht.

Wenn sich der Benutzer während dieser "401-Periode" bei LinkedIn anmeldet, funktioniert das zuvor abgerufene Zugriffstoken auf magische Weise.

Ich weiß nicht, wie ich das lösen kann, da es bei LinkedIn ein Problem zu sein scheint.

Hat jemand irgendwelche Vorschläge oder hat jemand dieses Verhalten vorher gesehen?

Wir haben Cookie-Einstellungen ausprobiert, warten einige Zeit vor unserer Anfrage usw.

Wir fügen Zotonic [1] die OAuth2-Authentifizierung von LinkedIn hinzu, sind jetzt jedoch mit einem nicht funktionierenden Modul beschäftigt.

[1] Ссылка

Bearbeiten:

Jemand hat auf zwei Diskussionen bei LinkedIn hingewiesen. Seine Antwort ist nun leider aus der folgenden Diskussion verschwunden.

Dies sind die Links:

Ссылка

Ссылка

Ich habe alle Vorschläge in diesen Diskussionen versucht, ohne Erfolg.

Bearbeiten Sie # 2:

Wenn ich die erste Diskussion bei LinkedIn überprüfe, zeigt sich, dass ich nicht die einzige Person mit diesen Konsistenzproblemen bin. Etwas bei LinkedIn läuft schief, wenn der Nutzer Cookies deaktiviert hat oder sich während des OAuth "dance" bei LinkedIn anmelden muss Ссылка

Aktualisieren

Gelöst, dank Matthijs Bierman, siehe Antworten unten.

    
Marc Worrell 22.01.2015, 17:22
quelle

9 Antworten

1

Wir haben am Telefon gesprochen, es stellt sich heraus, dass Sie auf das gleiche Problem stoßen wie hier . LinkedIn akzeptiert den Header Authentication nicht und erwartet einen Anfrageparameter: oauth2_access_token .

    
Matthijs Bierman 29.01.2015, 17:08
quelle
13

Für mich hat Ссылка nicht funktioniert.

Hinzufügen von Kopfzeilen

Autorisierung: Bearer [accessToken]

hat nicht funktioniert, bis ich in sdk verlinkt und getestet habe und herausgefunden habe, dass sie auch Request Header

hinzufügen müssen

x-li-src: msdk

Mit diesen beiden Headern funktionierte der Aufruf Ссылка .

Hoffentlich bindet Linkedin diese undokumentierte Anforderung bald ...

    
Groosa 13.01.2016 08:31
quelle
2

Mit Hilfe von Matthijs Bierman haben wir eine Lösung für unser Problem gefunden.

Wir haben uns mit einem Authorization: Bearer .... Header authentifiziert. Wenn wir stattdessen das Argument oauth2_access_token query verwenden, funktioniert es in beiden Anwendungsfällen mit und ohne einen angemeldeten LinkedIn-Benutzer.

Fazit: Verwenden Sie nicht den Header Authorization und verwenden Sie stattdessen das Abfrage-Argument oauth2_access_token .

    
Marc Worrell 29.01.2015 22:01
quelle
2

Gleiches hier, jedes Mal, wenn ich neues access_token bekam, musste ich einige Minuten warten, bis es gültig war. Das war inakzeptabel.

Ich habe mir angeschaut, wie verschiedene Sites das SignIn mit LinkedIn machen und hier ist eine Lösung, die für mich funktioniert hat.

Wenn Sie AUTH_CODE austauschen, um ACCESS_TOKEN zu erhalten, verwenden Sie die Methode GET anstelle von POST, zB:

%Vor%

Grails Integration mit LinkedIn OAuth2 Beispiel: Ссылка

    
rgrebski 10.12.2016 12:38
quelle
1

Ich sehe das gleiche Problem; Der Abfrageparameter funktioniert jedoch nicht für mich.

Es ist genau wie die beschriebene Frage charakterisiert: 1) Ich habe ein gültiges Token 2) Der Benutzer ist von linkedin abgemeldet 3) Die Anfrage für das Benutzerprofil schlägt fehl 4) Warte fünf Minuten und es gelingt

Sie können meine Anfrage / Antwort unten sehen:

%Vor%     
Judah Anthony 20.08.2015 16:30
quelle
1

Ich habe alle obigen Lösungen versucht, aber nicht mit mir gearbeitet. Ich habe meine URL von

geändert %Vor%

bis

%Vor%

es hat richtig funktioniert.

    
Luong Dinh 18.01.2017 13:48
quelle
0

Der authentifizierte Status des Nutzers auf LinkedIn.com (unabhängig davon, ob er eingeloggt ist oder nicht) hat keinen Einfluss auf ein gültiges OAuth-Zugriffstoken. Mit anderen Worten, der Benutzer kann sich bei LinkedIn.com abmelden, und dieses Token sollte weiterhin funktionieren, bis es widerrufen oder abgelaufen ist.

Besteht die Möglichkeit, dass Sie ein neues Token generieren? Das würde den vorherigen ungültig machen. Diese Fehlernachricht, die Sie geteilt haben, wird normalerweise verursacht, wenn ein Token aktualisiert wurde und Sie einen API-Aufruf mit dem vorherigen Token machen

    
Kamyar Mohager 22.01.2015 22:48
quelle
0

Keines der oben genannten Dinge funktionierte für mich. Weiß jemand, ob es dafür eine Lösung gibt? manchmal funktioniert es und manchmal nicht ohne irgendeine Änderung des Codes.

    
Omtechguy 31.10.2017 16:03
quelle
0

https://api.linkedin.com/v1/people/~?format=json&oauth2_access_token=<token>

Standardmäßig lautet die Antwortantwort in XML und fügt format=json hinzu.

    
Ganesh K 31.01.2018 07:41
quelle

Tags und Links