2016-07-04 23 views
5

Tôi muốn người dùng yêu cầu chuyến đi Uber từ ứng dụng của tôi.
https://developer.uber.com/docs/rides/authentication
API Uber | Yêu cầu Mã thông báo truy cập cho yêu cầu chuyến đi trả lại lỗi 'invalid_grant'

Dưới 2,0 phần OAuth tại url trên, có 6 bước:
1. Authorize (thực hiện)
2. Nhận Redirect (thực hiện)
3. Nhận một thẻ truy cập ('invalid_grant 'error)

Ảnh chụp màn hình sau đây là từ Người đưa thư. Tôi đã thử chuyển client_id, client_secret, grant_type, redirect_uri và mã dưới dạng tham số, biểu mẫu dữ liệu và x-www-form-url-encoded. Nhưng mỗi lần nó trả về cùng một lỗi.

enter image description here

Tôi đã đặt 'http://localhost:3000/auth/uber/callback' như Url chuyển hướng trong bảng điều khiển Uber App của tôi.

Tôi thậm chí còn cố gắng lệnh curl sau trong terminal, nhưng nó sẽ trả về lỗi 'invalid_grant' cùng

enter image description here

Ai đó có thể giúp tôi với vấn đề này.

+0

Ảnh chụp màn hình thường không được xem là hữu ích ở đây trên S.O. (có thể trường hợp của bạn là ngoại lệ), NHƯNG, hãy xem xét viết lại câu hỏi của bạn để chỉ sử dụng lệnh 'curl'. Khi bạn nhận được rằng làm việc bạn sẽ có thể giải quyết bạn Oauth/Postman vấn đề, phải không? Ngoài ra, bạn sẽ nhận được trợ giúp thêm nếu bạn bao gồm thẻ cho ngôn ngữ lập trình/tập lệnh. Với mã mẫu 'curl' của bạn, bạn chỉ cần thêm thẻ' bash' và nhận ~ 20 nghìn người theo dõi. (Hoặc ít nhất thêm thẻ Postman hoặc Oauth, tùy thuộc vào # người theo dõi). Chúc may mắn. – shellter

+0

@mahendhar đã được giải quyết chưa? –

Trả lời

2

Yêu cầu của người đưa thư của bạn có vẻ chính xác với tôi. dự đoán tốt nhất của tôi tại whats going on:

1) Bạn đã nhiều chuyển hướng thiết lập, và bạn đang sử dụng url một chuyển hướng khi bạn làm giai đoạn uỷ quyền và một khác nhau một khi bạn cố gắng và làm trao đổi thẻ

2) Bạn đang thực hiện ủy quyền cho một client_id và cố gắng thực hiện trao đổi mã thông báo cho một số khác

3) Mã ủy quyền đã được sử dụng/đã hết hạn. Hãy nhớ nó chỉ tốt cho một yêu cầu.

Bạn có thể thử những điều sau đây và cho tôi biết những gì sẽ xảy ra:

1) Do dòng chảy uỷ quyền và đặc biệt chú ý rằng id khách hàng và chuyển hướng uri bạn đặt vào URL cho phép bạn là chính xác

2) Sau khi trình duyệt của bạn chuyển hướng, hãy sao chép mã ủy quyền ra khỏi URL chuyển hướng

3) Đặt mã ủy quyền vào yêu cầu/lệnh curl của người đăng và đảm bảo URI id/chuyển hướng của khách hàng là chính xác khi bạn thực hiện.

0

Mã trạng thái: 401 Unauthorized

{ 
    "error": "invalid_grant" 
} 
  1. Bạn đang sử dụng không hợp lệ refresh_token. Bạn có thể tạo nhiều mã thông báo truy cập , nhưng bạn chỉ có thể sử dụng số mới nhất được tạo ra refresh_token.

  2. Bạn cung cấp một không hợp lệ đang khi trao đổi một mã uỷ quyền cho một access_token.

Các vấn đề liên quan