rest - resulted - Error de código de autorización de Linkedin OAuth2
linkedin api (2)
El valor de su parámetro redirect_uri
debe tener codificación URL, por lo que a 6. do:
https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code=YYY&redirect_uri=http%3A%2F%2Flocalhost%3A9090%2FSpringMVC%2Ftoken.htm&client_id=XXX&client_secret=ZZZ
y no necesita ser enviado como un POST sino como un GET.
Intento conectarme a través de Linkedin Auth2 desde una aplicación web java:
- Agregué mi propia aplicación en linkedin.
- Genere la URL de autorización: https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=XXX&scope=r_basicprofile%20r_fullprofile%20r_emailaddress&state=DCEEFWF454Us5dffef424&redirect_uri=http://localhost:9090/springmvc/token.htm
- Introduzca mi nombre de usuario / contraseña para linkedin en la nueva ventana emergente.
- Vuelve exitosamente la solicitud en el redirect_uri anterior, y toma el código de autorización "código"
- Genera la URL accessToken
- Haga un POST con: https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code=YYY&redirect_uri=http://localhost:9090/SpringMVC/token.htm&client_id=XXX&client_secret=ZZZ
- Obtenga el siguiente error en respuesta: {"error_description": "falta de parámetros necesarios, incluye un parámetro inválido, parámetro más de una vez.: No se puede recuperar token de acceso: appId o redirigir uri no coincide con el código de autorización o el código de autorización caducado", " error ":" invalid_request "}
He verificado que los parámetros de la URL son correctos: - "código" es la recepción del token en el paso 4.
"redirect_uri" es la misma URL en los pasos 2 y 4. Agregué esta URL en la sección "OAuth 2.0 redirect URL" en mi aplicación.
"client_id" y "client_secret" son "Client API" y "Secret API" en mi aplicación.
El tiempo entre la primera y la segunda solicitud es inferior a 20 segundos.
A mí también me molestaron con este problema por mucho tiempo. Por favor, tenga en cuenta algunas cosas que hice y, finalmente, lo resolvió.
- Pulse la API para obtener el código de autorización utilizando la solicitud de obtención.
- El código de autorización tiene una vida útil de aproximadamente 20 segundos, por lo que es difícil copiar manualmente el código de la url y solicitar acceso a tokens. Deberías hacerlo pro gramaticalmente.
- Realice una solicitud posterior para obtener el token de acceso.
- Lo más importante: las viejas aplicaciones de linkedin que yo había creado no funcionaban y daban el error anterior. Crea una nueva aplicación linkedin y prueba. Hacer esto funcionó para mí.
Supongo que todos los otros parámetros como client_id, secret, redirect_uri son correctos.
Por favor, intente y háganos saber.
Gracias.