7

Tôi đang di chuyển sang Oauth 2.0. Trang web hiện tại của tôi sử dụng JS SDK, có nút đăng nhập fb, sau đó tôi truy cập vào Biểu đồ để nhận chi tiết người dùng.Oauth 2.0 không thể nhận mã thông báo truy cập từ giá trị 'mã' có chữ ký_request

Tôi gặp sự cố khi nhận mã thông báo truy cập để lấy dữ liệu này từ Đồ thị.

Một vấn đề có thể là hộp thoại JS SDK không chuyển hướng URL của tôi tới URL mà nó cho biết có nghĩa là mã có mã? XXXXXXX mà tôi có thể sử dụng để nhận mã thông báo truy cập.

Vì vậy, tôi đã xem xét SDK php (Tôi đang sử dụng ASP) để xem nó hoạt động như thế nào. Tôi đã phân tích cú pháp giá trị yêu cầu đã ký trong cookie, nhận giá trị trong tham số 'mã' để thêm vào URL mã thông báo nhưng tôi không thể nhận được mã thông báo truy cập. Đây là những giá trị Tôi đang sử dụng:

phân tích dữ liệu signed_request:

{"algorithm":"HMAC-SHA256","code":"2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc","issued_at":1323895617,"user_id":"XXXXXXXXXX"} 

Token URL: https://graph.facebook.com/oauth/access_token? 
      client_id=XXXXXXXX& 
      redirect_uri=XXXXXXXX& 
      client_secret=XXXXXX& 
      code=2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc 

Đây là phản ứng:

{"error":{"message":"Error validating verification code.","type":"OAuthException"}} 

Có giá trị mã dường như trong các định dạng đúng không? Bất kỳ ý tưởng nào về những gì sai?

+0

Bạn không quên '&' sau 'client_secret = XXXXXX'? – dmirkitanov

+0

Xin lỗi, đó là sự cố định dạng ở đó. Tôi có dấu và trong mã của tôi. Tôi sẽ sửa đổi điều đó. – DAC84

Trả lời

10

chính xác cùng một vấn đề ở đây ...

giải pháp: nếu mã được chiết xuất từ ​​cookie sẽ tải trọng, để lại thông số redirect_uri trống

thử

URL Mã: https://graph.facebook.com/oauth/access_token?client_id=XXXXXXXX&redirect_uri=&client_secret=XXXXXX&code=2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc

làm việc cho tôi!

+0

Ah đã hoạt động! Xấu hổ các tài liệu facebook nói để bao gồm nó. Cảm ơn rất nhiều. – DAC84

+2

tài liệu facebook (không) sẽ là cái chết của tôi –

+4

Haha, tôi đã tìm thấy bí mật này trong đoạn trích của Google về trang web đã bị xóa. Để rõ ràng hơn đối với người đọc, 'redirect_uri' phải có mặt, nhưng được chỉ định là trống. – Potatoswatter

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