2011-10-13 43 views
9

Tôi đã có một ứng dụng sản xuất và đôi khi tôi thấy lỗi này xuất hiện trong nhật ký .. Tôi dường như không sao chép nó ở cuối của tôi, vì vậy có vẻ như có người dùng ở đâu đó với một số cài đặt cụ thể/cookies/etc đang gây ra vấn đề này. Tôi không chắc chắn ... Nhật ký cho thấy thành viên này đã được chuyển hướng đến url callback này: "người dùng/auth/facebook/gọi lại code = AQCayaAoFOruFgwbfg1D682j8DbxOt0CZYNH3Vv5RtYKlQgSzISyN8ygTn25W_RTl3fu35cS1-tl5ArZ9B_XylwORP0hGU6st8P6TyTYUzfiR1m0poaSRkX-KBeWiBvT6IUsm-Af0VJcUNTQPg-dM1F9y5CgJ2bTJEJqhCE9wYlvkUY3kguwcl3TQ48FTT4-PHA ///?"OAuth "Định dạng mã xác minh không hợp lệ"

các lỗi thực tế là:

RuntimeError: #<OAuth2::Response:0x1da7fae0 @error=#<OAuth2::Error: OAuth2::Error>, @options={:parse=>:query}, @parsed={"{\"error\":{\"message\":\"Invalid verification code format.\",\"type\":\"OAuthException\"}}"=>nil}, @response=#<Faraday::Response:0x1da8fa80 @on_complete_callbacks=[], @env={:response=>#<Faraday::Response:0x1da8fa80 ...>, :request_headers=>{"Content-Type"=>"application/x-www-form-urlencoded"}, :body=>"{\"error\":{\"message\":\"Invalid verification code format.\",\"type\":\"OAuthException\"}}", :status=>400, :url=>#<Addressable::URI:0xed52bf0 URI:https://graph.facebook.com/oauth/access_token>, :request=>{:proxy=>nil}, :parallel_manager=>nil, :response_headers=>{"expires"=>"Sat, 01 Jan 2000 00:00:00 GMT", "access-control-allow-origin"=>"*", "content-type"=>"text/javascript; charset=UTF-8", "connection"=>"close", "www-authenticate"=>"OAuth \"Facebook Platform\" \"invalid_code\" \"Invalid verification code format.\"", "date"=>"Thu, 13 Oct 2011 15:58:29 GMT", "content-length"=>"81", "cache-control"=>"no-store", "x-fb-rev"=>"457598", "x-fb-server"=>"10.65.13.60", "pragma"=>"no-cache"}, :ssl=>{:ca_file=>"/etc/pki/tls/certs/ca-bundle.crt"}, :method=>:post}>> 

và các thông số là:

{"code"=> "AQCayaAoFOruFgwbfg1D682j8DbxOt0CZYNH3Vv5RtYKlQgSzISyN8ygTn25W_RTl3fu35cS1-tl5ArZ9B_XylwORP0hGU6st8P6TyTYUzfiR1m0poaSRkX-KBeWiBvT6IUsm-Af0VJcUNTQPg-dM1F9y5CgJ2bTJEJqhCE9wYlvkUY3kguwcl3TQ48FTT4-PhA///", 
"action"=>"", 
"controller"=>""} 

tôi biết nếu tôi tự đi đến "người dùng/auth/facebook/gọi lại code = blah?" nó sẽ kích hoạt t cùng một lỗi vì tham số mã gọi lại rõ ràng là không có thật, nhưng có vẻ như không có bất kỳ điều gì đáng ngờ về mã thực tế trong thông số băm của người dùng-- vì vậy tôi tự hỏi tại sao nó sẽ là định dạng không hợp lệ?

Có ai khác có kinh nghiệm này không?

+0

bạn tìm thấy giải pháp nào? –

Trả lời

-1

Tôi nghĩ vào liên kết sau đây cung cấp câu trả lời: http://developers.facebook.com/docs/authentication/#authenticating-users-in-a-web-application

Trước tiên, bạn cần phải gọi https://graph.facebook.com/oauth/authorize với client_id và redirect_uri của bạn. Điều này sau đó sẽ chuyển hướng bạn trở lại redirect_uri, với mã xác minh trong chuỗi truy vấn mà bạn có thể chuyển đến cuộc gọi https://graph.facebook.com/oauth/access_token (thông qua tham số mã) để trao đổi mã thông báo truy cập oAuth.

Chúc may mắn! :)

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