LinkedIn OAuth2: “Impossible de vérifier le jeton d'accès”
Il fonctionne si et seulement si l'utilisateur est connecté sur LinkedIn au moment de la prise de la OAuth2 demande.
Si l'utilisateur n'est pas connecté alors que nous rencontrons une erreur.
Séquence de nos actions:
- réussi à récupérer les frais jeton d'accès
- en utilisant le jeton d'accès, de poste à l'api d'extrémité
https://api.linkedin.com/v1/people/\~
Après ce que nous recevons un 401 avec le contenu suivant:
{
"errorCode": 0,
"message": "Unable to verify access token",
"requestId": "C0DUCX81SA",
"status": 401,
"timestamp": 1421946470523
}
Parfois, après un certain temps passé, une nouvelle tentative avec le même Jeton d'Accès donne un 200. Parfois pas.
Si l'utilisateur se connecte à LinkedIn au cours de cette "401 période" puis comme par magie précédemment récupérés jeton d'accès commence à travailler.
Je suis à une perte de la façon de résoudre ce problème, comme cela semble être un problème chez LinkedIn.
Quelqu'un a des suggestions ou quelqu'un voir ce problème avant?
Nous avons essayé les paramètres des cookies, des périodes d'attente avant notre demande, etc.
Nous ajoutons LinkedIn authentification OAuth2 pour Zotonic [1], mais sont maintenant coincé avec un non-module de travail.
Edit:
Quelqu'un se réfère à deux discussions sur LinkedIn. Sa réponse maintenant malheureusement disparu de la discussion ci-dessous.
Voici les liens:
https://developer.linkedin.com/forum/unable-verify-access-token
J'ai essayé toutes les suggestions à ces discussions, en vain.
Edit #2:
La vérification de la première discussion sur LinkedIn montre que je ne suis pas le seul à avoir ces problèmes de cohérence. Quelque chose à LinkedIn est de se tromper si l'utilisateur a désactivé les cookies ou a connecter à LinkedIn, le cours de l'OAuth "danse" https://developer.linkedin.com/forum/unable-verify-access-token#comment-36950
Mise à jour
Résolu, grâce à Matthijs Bierman, voir les réponses ci-dessous.
OriginalL'auteur Marc Worrell | 2015-01-22
Vous devez vous connecter pour publier un commentaire.
Nous avons parlé au téléphone, il s'avère que vous êtes en cours d'exécution dans la même situation que ici. LinkedIn n'accepte pas les
Authentication
en-tête et attend un paramètre de la requête:oauth2_access_token
.Je vais essayer cette en 2017 et il ne fonctionne plus. J'ai essayé que les docs disent (developer.linkedin.com/docs/oauth2), à l'aide d'Autorisation: Porteur {access_token} et requête avec oauth2_access_token={access_token), à la fois, sans succès. après quelques minutes, cela fonctionne. quelqu'un a plus d'info? Il semble comme une éventuelle cohérence de leur côté.
pouvez-vous m'aider à résoudre le même problème avec obtenir le jeton d'accès. partage ma question post stackoverflow.com/questions/52501144/...
OriginalL'auteur Matthijs Bierman
Pour moi le https://api.linkedin.com/v1/people/~?format=json&oauth2_access_token=%5BaccessToken%5D n'a pas fonctionné.
Ajoutant reguest en-tête
Autorisation: au Porteur [accessToken]
n'a pas fonctionné jusqu'à ce que je suis allé à travers le lien dans le sdk et testé et trouvé qu'ils ont aussi besoin de vous pour ajouter un en-tête de demande
x-li-src: msdk
Avec ces deux en-têtes de l'appel https://api.linkedin.com/v1/people/~?format=json travaillé.
Espérons-le, Linkedin résout ce sans-papiers exigence bientôt...
Merci beaucoup!
Pour moi qui ne travaille qu'avec des jetons d'accès à venir à partir d'un téléphone android et ne fonctionne pas avec iOS ceux
Seulement, cette solution a fonctionné pour moi 🙂 Merci beaucoup! Les gars essaie juste de faire ceci, C'est 100% de travail.
Dans quel fichier il faut mettre cet en-tête?
OriginalL'auteur Groosa
AccessToken de mobile SDK donne cette erreur:
Vous ne serez pas face à tout problème avec accessTokens générées à l'aide de web OAuth 2.0 protocole. Ce problème se produit uniquement avec les mobiles(iOS/Android) SDK, lorsque le accessToken est utilisé en back-end pour récupérer les détails de l'utilisateur.
Solution: fournir ci-dessous des 2 têtes
par exemple:
Url:
https://api.linkedin.com/v1/people/~?format=json
En-tête(s):
Remarque:
Si AccessToken est généré à l'aide d'OAuth 2.0, vous pouvez utiliser la même api ci-dessus en enlevant juste le second en-tête(x-li-src) .
OriginalL'auteur PANKAJ VERMA
Avec l'aide de Matthijs Bierman, nous avons trouvé une solution pour notre problème.
Nous authentifié avec un
Authorization: Bearer ....
en-tête.Si nous utilisons un
oauth2_access_token
requête argument au lieu de cela, puis il travaille dans les deux cas d'utilisation avec et sans connexion utilisateur LinkedIn.Conclusion: ne pas utiliser le Autorisation tête de la oauth2_access_token requête argument à la place.
OriginalL'auteur Marc Worrell
Même ici, à chaque fois que je recevais des nouvelles access_token j'ai dû attendre quelques minutes jusqu'à ce qu'il était valide. Cette situation était inacceptable.
J'ai pris un coup d'oeil comment les différents sites ne le SignIn avec LinkedIn et voici une solution qui a fonctionné pour moi.
Lors de l'échange de AUTH_CODE afin d'obtenir ACCESS_TOKEN utilisant la méthode GET au lieu de POST, par exemple:
Graal intégration avec LinkedIn OAuth2 exemple:
https://github.com/rgrebski/samples/tree/master/grails-linkedin-integration
Ce qui est vrai. Quand j'ai changé l'échange AuthCode à AccessToken processus de demande POST pour OBTENIR la demande, l'erreur 401 est coupé.
OriginalL'auteur rgrebski
Je vois ce même problème; toutefois, la requête de param ne fonctionne pas pour moi.
Il est caractérisé tout comme la question décrite:
1) j'ai un jeton valide
2) L'utilisateur est déconnecté de linkedin
3) La demande pour le profil de l'utilisateur échoue
4) Attendez cinq minutes, et il réussit
Vous pouvez voir ma requête/réponse ci-dessous:
Le truc c'est que je ne suis pas de la génération d'un nouveau jeton. En plus, parfois, le nouveau jeton échoue uniquement pendant environ 30 secondes, puis il commence à travailler; cependant, 30 secondes pour une ouverture de session de l'onu acceptable.
OriginalL'auteur Judah Anthony
J'ai essayé toutes les solutions ci-dessus, mais n'a pas fonctionné avec moi. J'ai changé l'url de
à
cela a fonctionné correctement.
OriginalL'auteur Luong Dinh
L'état authentifié de l'utilisateur sur LinkedIn.com (si oui ou non ils sont connectés) ne pas avoir une incidence sur valide d'un jeton d'accès OAuth. En d'autres termes, l'utilisateur peut se déconnecter de LinkedIn.com et ce jeton doit encore travailler jusqu'à ce qu'elle soit révoquée ou a expiré.
Est-il une possibilité que vous êtes la génération d'un nouveau jeton? Qui rendrait la précédente invalide. Ce message d'erreur que vous avez partagé est généralement causée quand un pion a été actualisé et vous êtes sur de faire un appel d'API avec le jeton précédent
Kamyar, avez-vous des suggestions que nous pourrions essayer? Au moment où nous avons eu de mail à tous nos membres et nos clients que nous ne pouvons pas utiliser LinkedIn authentification en raison des problèmes mentionnés à l'LinkedIn OAuth2 processus.
pouvez-vous m'aider à résoudre le même problème avec obtenir le jeton d'accès. partage ma question post stackoverflow.com/questions/52501144/...
Je vois que vous avez résolu votre problème en ajoutant de la SCRO en-têtes. Bon à savoir vous avez à travailler ainsi.
OriginalL'auteur Kamyar Mohager
Aucun des ci-dessus a fonctionné pour moi. Quelqu'un sait si il y a une solution pour ça?
parfois, son travail et parfois pas sans aucune modification de code.
OriginalL'auteur Omtechguy
https://api.linkedin.com/v1/people/~?format=json&oauth2_access_token=<token>
Par défaut, c'est le retour de la réponse en XML, en ajoutant
format=json
.OriginalL'auteur Ganesh K