0

I'm trying to authenticate users coming to my site from a click on an opengraph action in facebook.

I've generate the action successfully with the following code. This goes out to my timeline successfully. So far, so good.

require 'cgi'

client_id ="CLIENT_ID"
client_secret = "CLIENT_SECRET"

recipe = "http://foodonthetable.shadr.us/recipes/1007-spanish-chicken-and-rice"
access_token = "LONGACCESSTOKEN"

# PUBLISH
result = `curl -F access_token=#{access_token} -F recipe=#{recipe} https://graph.facebook.com/me/foodonthetable_mrh:plan_to_cook`
puts result

When I click on the link in the timeline, I'm taken to the following URL. This is where I start having issues. Basically, I want to recognize the user coming in through this link and log them in (or create a new user). I have authenticated referrals turned on, and I'm receiving the code parameter as expected.

http://foodonthetable.shadr.us/recipes/1007-spanish-chicken-and-rice?fb_action_ids=384156608318085&fb_action_types=foodonthetable_mrh%3Aplan_to_cook&fb_source=timeline_og&action_object_map=%7B%22384156608318085%22%3A10151004406923956%7D&code=AQAPExNw7MHkxcLTEi5L24iD79pVa-WYxyhBA_bhdWLCM0PCGDuPjh1WqmAyd3_O3_LSjYzPawrinHNP3nv9BCMB_XuTnr8De8xQ2AwXqCaeHUzZUPm2MPyQ_eodOC9-YtjkvXm_PzRX3JG58khalT3AJjVuZvKHn5hWGDSohXLRbHGxW-vOg_Whm3mt_WUkdd0#_=_

However, when I try to get the auth_token using this code, I'm not able to. I've tried using a couple of different versions of the redirect_uri thinking that might be the problem (based on other posts) but nothing seems to work.

redirect_uri = "http://foodonthetable.shadr.us/recipes/1007-spanish-chicken-and-rice"
redirect_uri = "http://foodonthetable.shadr.us/facebook_connect/connect"

code = "AQAPExNw7MHkxcLTEi5L24iD79pVa-WYxyhBA_bhdWLCM0PCGDuPjh1WqmAyd3_O3_LSjYzPawrinHNP3nv9BCMB_XuTnr8De8xQ2AwXqCaeHUzZUPm2MPyQ_eodOC9-YtjkvXm_PzRX3JG58khalT3AJjVuZvKHn5hWGDSohXLRbHGxW-vOg_Whm3mt_WUkdd0"

result = `curl -F client_id=#{client_id} -F redirect_uri=#{redirect_uri} -F client_secret=#{client_secret} -F code=#{code} https://graph.facebook.com/oauth/access_token`
puts result

No matter what I do here, I always get the following error:

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

Any help would be appreciated.

shadr
  • 1
  • 1
  • 1
    Tried to self answer, but I don't have enough points. Here's the snippit that fixed this for me: `redirect_uri = request.url.split('&code=').first` – shadr Jul 17 '12 at 20:05

1 Answers1

0

This does fix it.

redirect_uri = request.url.split('&code=').first
Shekhar
  • 67
  • 1
  • 7