2014-10-26 10 views
15

Sto utilizzando "omniauth-linkedin-oauth2".linkedin: redirect_uri non valido. Questo valore deve corrispondere a un URL registrato con la chiave API

Quando sarò il login con linkedin allora sto ottenendo questo errore

redirect_uri non valido. Questo valore deve corrispondere a un URL registrato con la chiave API.

Questo è il mio impostazioni:

Screenshot

+0

Chiave e valore Api, impostati correttamente? – Nithin

+0

titolo dice 'twitter'? – Nithin

+5

L'URL di reindirizzamento dovrebbe essere probabilmente 'http: // localhost: 3000/auth/linkedin/callback' - questo è il modo in cui le strategie di OmniAuth funzionano. Quindi dovresti aprire il tuo sito come 'http: // localhost: 3000' e provare ad autenticarti. – bodrovis

risposta

21

tornò al sito degli sviluppatori LinkedIn (https://www.linkedin.com/secure/developer) per verificare di nuovo il mio ambiente. Tutto corrisponde agli URL di reindirizzamento API Key, Secret Key e OAuth 2.0.

Web cercato alla ricerca di alcuni indizi. Impossibile trovare uno.
Pazzo problema:

Poi ho visto che nella URL Owin è stato aggiungendo un po 'di corda in più alla redirect_uri “signin-linkedin”.
Quando ho decodificato l'URL, ho visto questo http://localhost:54307/signin-linkedin.
Ho preso questo URL e l'ho inserito nel campo URL di reindirizzamento OAuth 2.0 nel sito degli sviluppatori di LinkedIn.

Questo link è aiuto pieno per me
https://naveengopisetty.wordpress.com/2014/09/15/linkedin-oauth-2-0-issue-invalid-redirect_uri-this-value-must-match-a-url-registered-with-the-api-key/

+2

Aggiunta di "signin-linkedin" alla fine del uri come questo: http: //www.example. com/signin-linkedin ha funzionato per me! – zinczinc

3

si può solo guardare in url che hai trovato quel messaggio di errore su.

es. se si utilizza autenticazione sociale di pitone l'url sarebbe simile a questa:

https://www.linkedin.com/uas/oauth2/authorization?scope=r_basicprofile+r_emailaddress&state=XXXXXX&redirect_uri=http://example.com.au/sa/complete/linkedin-oauth2/&response_type=code&client_id=YYYYYYY 

così si può usare questa parte dell'URL sopra per il reindirizzamento URL

http://example.com/sa/complete/linkedin-oauth2/ 
+0

questo ha aiutato molto – Eoin

5
0

Vale la pena menzionare quando si usano le librerie per gestire oauth: alcune librerie non si preoccupano del protocollo usato (o almeno richiedono un'ulteriore parametrizzazione). Ad esempio, ho dato Linkedin https://example/callback come url oauth2, ma la libreria ha inviato la richiesta con http://example/callback come parametro.

0

Avevo questo quando provavo ad autorizzare da un popup modale di revival di zurb.Nel mio caso, il problema era che l'URL della pagina visualizzata nel popup non era nell'elenco di URL di reindirizzamento OAuth2 sul sito degli sviluppatori di LinkedIn.

Questo è stato facile da perdere perché l'URL della pagina dalla pagina nel modale non è l'URL che era attualmente visualizzato nella barra degli indirizzi del browser. Una volta ho aggiunto l'URL per la pagina mostrata nel pop up ha funzionato.