2016-07-04 44 views
5

Desidero che gli utenti richiedano corse Uber dalla mia app.
https://developer.uber.com/docs/rides/authentication
API Uber | Richiesta del token di accesso per la richiesta di Ride restituisce l'errore "invalid_grant"

Nella sezione OAuth 2.0 all'indirizzo di cui sopra, ci sono 6 passi:
1. Autorizzazione (fatto)
2. Ricevere Redirect (fatto)
3. Ottenere un token di accesso ('invalid_grant 'errore)

Il seguente screenshot è di Postman. Ho provato a passare client_id, client_secret, grant_type, redirect_uri e codice come params, form-data e x-www-form-url-encoded. Ma ogni volta restituisce lo stesso errore.

enter image description here

Ho messo 'http://localhost:3000/auth/uber/callback' come reindirizzamento URL nel mio cruscotto Uber App.

Ho anche provato il seguente comando nel terminale ricciolo, ma restituisce lo stesso errore 'invalid_grant'

enter image description here

Qualcuno mi può aiutare con questo problema.

+0

Le schermate sono in genere non considerano utile qui in S.O. (forse il tuo caso è l'eccezione), MA, considera di riscrivere il tuo Q per usare solo i comandi di 'curl'. Quando lo fai funzionare dovresti essere in grado di risolvere i tuoi problemi con Oauth/Postman, giusto? Inoltre, avrai più aiuto se includi un tag per un linguaggio di programmazione/scripting. Dato il tuo codice di esempio 'curl', puoi semplicemente aggiungere un tag' bash' e ottenere ~ 20K follower. (O almeno aggiungi un tag Postman o Oauth, a seconda del numero di follower). In bocca al lupo. – shellter

+0

@mahendhar è stato mai risolto? –

risposta

2

La richiesta del postino mi sembra corretta. I miei migliori indovina che cosa sta succedendo:

1) Hai più redirect impostati, e si sta utilizzando un reindirizzamento URL quando si esegue la fase di autorizzazione e uno diverso quando si cerca di fare lo scambio di token

2) Stai eseguendo l'autorizzazione per un client_id e stai cercando di effettuare lo scambio di token per un altro

3) Il tuo codice di autorizzazione è già stato utilizzato/scaduto. Tieni presente che vale solo per una richiesta.

Potrebbe provare la seguente e dimmi che cosa succede:

1) Se il flusso di autorizzazione e di prestare particolare attenzione che l'ID cliente e redirect uri mettete nel vostro URL autorizzazione siano corrette

2) Dopo aver reindirizzato il browser, copia il codice di autorizzazione dall'URL di reindirizzamento

3) Inserisci il codice di autorizzazione nell'istruzione postman/richiesta di arricciatura e assicurati che l'id del client/reindirizzamento URI sia corretto quando lo fai.

0

Codice di stato: 401 non autorizzato

{ 
    "error": "invalid_grant" 
} 
  1. Si utilizza un invalido refresh_token. È possibile generare più token di accesso , ma è possibile utilizzare solo l'ultimo generato refresh_token.

  2. È fornito un invalido codice quando lo scambio di un codice di autorizzazione per un access_token.