Impossible d'obtenir le jeton d'accès LinkedIn Oauth

Prasanna Sasne

Je sais que certains mettront des commentaires comme si cet article est le double de tant de questions, mais j'ai essayé de nombreuses façons d'obtenir un jeton d'accès dans linkedin Oauth. Expliquant ce que j'ai essayé.

1) Je suis le Linkedin Oauth2 de son doc officiel

2) J'obtiens avec succès le code d'autorisation de l'étape 2 et je passe ce code à l'étape 3 pour échanger le code d'authentification pour obtenir le jeton d'accès. Mais j'obtiens l' erreur suivante {"error_description": "paramètres obligatoires manquants, inclut une valeur de paramètre non valide, paramètre plusieurs fois.: Impossible de récupérer le jeton d'accès: appId ou l'URI de redirection ne correspond pas au code d'autorisation ou au code d'autorisation expiré", "error": "invalid_request"}

3) Selon certains liens, je dois définir le type de contenu dans l'en-tête. Le lien qui indique de définir le type de contenu est manquant

4) Ensuite , j'ai essayé d' appeler https://www.linkedin.com/uas/oauth2/accessTokence service au lieu de POStà GET. Et en passant des données en tant que queryParams.

5) Un lien dit que le code oauth expire dans 20 secondes, donc j'ai vérifié, je fais un appel pour un jeton d'accès en moins d'une seconde.

6) Et si je passe des données dans les paramètres Body comme ci-dessous et utilise l'URL comme https://www.linkedin.com/uas/oauth2/accessToken

var postData = {
                grant_type: "authorization_code",
                code: authCode,
                redirect_uri: 'https%3A%2F%2Foauthtest-mydeployed-app-url',
                client_id: 'my_client_id',
                client_secret: 'secret_key'
            };

7) Avec Getappeler mon URL, j'ai essayéhttps://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code='+authCode+'&redirect_uri=https%3A%2F%2Foauthtest-mydeployed-app-url&client_id=my_client_id&client_secret=secret_key

J'obtiens toujours une erreur même si le code d'état est 200, j'obtiens cette erreur (avec GETapi) et si POSten passant le postDatacorps, j'obtiens un mauvais 400code d'état de demande

Je ne comprends pas pourquoi je ne reçois pas de code d'accès. J'ai lu de nombreuses solutions. Code de partage comme demandé.

sap.ui.define([
	"sap/ui/core/mvc/Controller",
	"sap/m/MessageToast"
], function (Controller, MessageToast) {
	"use strict";

	return Controller.extend("OauthTest.OauthTest.controller.View1", {
		onPress: function (evt) {
			var sPath =
				'https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=my_client_id&redirect_uri=https%3A%2F%2Foauthtest-mydeployed-app-url&state=DCEeFWf45A53sdfKef424&scope=r_basicprofile';
			window.location.href = sPath;
            var oRouter = new sap.ui.core.UIComponent.getRouterFor(this);
			oRouter.navTo("View2", {
				"username": "Test"
			});
			MessageToast.show(evt.getSource().getId() + " Pressed");
		},
		
		//after user allows access, user will be redirected to this app with code and state in URL
		//i'm fetching code from URL in below method(call is happening in max.569ms)
		
		onAfterRendering: function () {
			var currentUrl = window.location.href;
			var url = new URL(currentUrl);
			var authCode = url.searchParams.get("code");
			if (authCode !== undefined && authCode !== null) {
				var postData = {
					grant_type: "authorization_code",
					code: authCode,
					redirect_uri: 'https%3A%2F%2Foauthtest-mydeployed-app-url',
					client_id: 'my_client_id',
					client_secret: 'secret_key'
				};
				
			/*	var accessTokenUrl = 'https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code=' + authCode +'&redirect_uri=https%3A%2F%2Foauthtest-mydeployed-app-url&client_id=my_client_id&client_secret=secret_key';*/

				var accessTokenUrl = 'https://www.linkedin.com/uas/oauth2/accessToken';

				$.ajax({
					url: accessTokenUrl,
					type: "POST",
					beforeSend: function (xhr) {
						xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
					},
					data: postData,
					success: function (data, textStatus, jqXHR) {
						console.log(data);
						alert('success');
					},
					error: function (jqXHR, textStatus, errorThrown) {
						console.log(errorThrown);
						alert('error');
					}
				});
			}
		}

	});
});

L'aide sera appréciée .. !!!

Prasanna Sasne

Enfin, je suis heureux de publier ma réponse après tant de recherches. Chaque étape que j'ai faite est correcte, mais une chose qui me manquait ici, comme l'API Linkedin ne prend pas en charge CORS.

J'ai essayé d'implémenter le SDK Javascript, qui fonctionne à merveille. Mais l'API ne l'était pas. Ensuite, j'ai trouvé un lien très utile qui dit que je dois implémenter l'API Rest à partir du backend en autorisant CORS, pas depuis le front-end.

Assurez-vous de suivre tous les points que j'ai mentionnés ci-dessus dans mon message. Et pour Autoriser CORS, suivez ce lien. Vous obtiendrez des données, mais seul le profil de base de l'utilisateur selon les conditions de LinkedIn peut être accessible.

J'espère que cet article peut aider quelqu'un à chercher plus

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

LinkedIn OAuth2: "Impossible de vérifier le jeton d'accès"

Impossible d'obtenir le jeton d'accès Microsoft Graph OAuth

Impossible d'obtenir le jeton d'accès depuis l'application LinkedIn. Il renvoie null dans onActivityResult

Impossible d'obtenir le jeton d'accès

Spring Boot 1.3 + OAuth: échec de la demande d'authentification: BadCredentialsException: impossible d'obtenir le jeton d'accès

impossible d'obtenir le jeton d'accès à partir du flux de code d'autorisation OAuth 2.0

Impossible d'obtenir le jeton d'accès et le jeton d'actualisation

impossible d'obtenir le jeton oauth de Keycloak

Impossible d'obtenir le jeton Google oAuth 2 sur POSTMan

Impossible d'obtenir le jeton (OAUTH2, Spring, Kotlin)

LinkedIn, 401, impossible de vérifier le jeton d'accès

Comment obtenir le jeton d'accès de l'API Linkedin avec Express et Axios?

Docusign : Obtenir le jeton d'accès

Impossible d'obtenir le jeton d'accès de json rsponse

API Google -> Impossible d'obtenir le jeton d'accès de JWT

Impossible d'obtenir le jeton d'accès lors de l'appel à Paypal sous Android

Impossible d'obtenir le jeton d'accès de l'API Bigcommerce, ID client non valide

Impossible d'obtenir le jeton d'accès pour Azure Cognitive Services (pour tts)

Impossible d'obtenir le jeton d'accès en ligne Shopify

Impossible d'obtenir le jeton d'accès pour l'API REST Dialogflow

spring boot oauth2 - impossible d'obtenir le jeton d'accès lors de l'utilisation de l'authentification de base

Jeton d'actualisation Spring Oauth2 - Impossible de convertir le jeton d'accès en JSON

Spring - oauth 2 - Impossible de convertir le jeton d'accès en JSON

impossible de récupérer le jeton d'accès pour oauth2

Impossible de récupérer le jeton d'accès pour oauth

Comment obtenir le jeton d'accès OAuth 2 de Viva Wallet

Impossible de faire fonctionner EnableOauth2Sso - BadCredentialsException: impossible d'obtenir le jeton d'accès

Impossible d'obtenir le jeton d'actualisation avec google OAuth 2

Impossible de définir le jeton d'accès GitHub

TOP liste

chaudétiquette

Archive