Hi Ephraim,
  The problem arises because you're login request goes like this

Link on page => Auth#Facebook controller action => in browser redirect page => 
Facebook (here be dragons) => Auth#facebook_callback (or something)  You loose 
the param either during the redirect or in the dark heart of Facebook.  

Things to try:

1) Check request.env["omniauth.params"] in the return action. Your original 
param might be hiding there.

2) Save the value to a cookie and then retrieve it when you come back

Also you've got an extra "?" in your example code
<%= link_to image_tag("FB_logo2.png"), "/auth/facebook?param1=#{temp_user_id}?" 
%> 
should be 

<%= link_to image_tag("FB_logo2.png"), "/auth/facebook?param1=#{temp_user_id}" 
%> 


On April 18, 2014 at 14:19:58 , Ephraim Feig ([email protected]) wrote:

I my application, I have users enter some information, and only then do I allow 
them to register. I want to give them the option of either registering directly 
or conveniently with Facebook. I use Omniauth (I don't use Devise). I save the 
information they already have entered, and then I want to augment it with other 
stuff after they sign in. I give them a temporary id (random number), which I 
want to pass to Omniauth so that when they finish registering with Facebook, I 
can find their temporary record and do with it what I want. 
  
Basically, I want to use something like this in my view:

   <%= link_to image_tag("FB_logo2.png"), 
"/auth/facebook?param1=#{temp_user_id}?" %> 

The generated url then is this (I am in development in my local machine)-

    localhost:3000/auth/facebook?param1=3458768267844234

When I click the link, this is what happens (from my debugger)-

    Processing by OmniauthsController#create as HTML
I, [2014-04-18T14:12:03.871319 #85797]  INFO -- :   Parameters: 
{"code"=>"AQDncNYL_i77fF6_PZgaY6J00LdDWNooKaSVUd8mDKUTnmxLCa5yhZR3zkkg6GoSlelDGYMhygjtL7XrsC_p9KPBWxqmZvbndeanqx_ERqiR075tMlnCOjbXacLwLM4iHIxs55j7o9iZekbCxMJvIZycWKR2gUFM6TIKv5FJOFLGIalU8MLaOSMpqPhGAObw3hs0RfOKl32X0Rs4SH21PaYfiTCfUeQk4Hj64qz8jtxJg1oPkzEObTTX99iag_PiNBEmhiq-Z6Vn44wlqjWR4_iFCFpMhkASNcJ8bvQt6gRfVByTXUzZ1GF1h_avXF7dokU",
 "state"=>"829dda5baa64b1531563c1a5f2e00789281a1c23289ebcf0", 
"provider"=>"facebook"}

I get all the usual Omniauth parameters that I would have gotten without the 
added param1, but param1 is not passed along.
 
Thank you for any help here.

Ephraim
--
--
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby
---
You received this message because you are subscribed to the Google Groups "SD 
Ruby" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

-- 
-- 
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby
--- 
You received this message because you are subscribed to the Google Groups "SD 
Ruby" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to