I’m running into an issue that’s arising from the fact that one has to either chose http or https as the scheme in the Site URL parameter in settings for a Facebook app.
Upon invoking FB.ui, the SDK takes it upon itself to send an “origin” parameter which has the domain of the current page. If this origin domain doesn’t match the Site URl parameter in app settings, it throws an “invalid redirect uri” error. The page we’re invoking on is not secure (http), but our Site URL is set up as https because we use FB connect on our secure login pages (https).
We want to avoid the overhead of having to make these extraneous FB.ui pages https as well, but as far as we’ve seen we cannot specify multiple Site Urls (to account for both http and https).
Is there a good solution to this? Perhaps a way to “block” or modify the origin parameter FB.ui sends?
You can also programmaticly set the parameters for a secue canvas URL via REST or Open Graph API.
property
secure_canvas_urlREST – https://developers.facebook.com/docs/appproperties/
Open Graph – https://developers.facebook.com/docs/reference/api/application/#props
Note the following regarding HTTPS on FBML applications
FBML apps
See the following for a complete description
http://developers.facebook.com/blog/post/567/
Before all else fails , check mark your app as a canvas application in application settings (even if it is not technically a canvas app). And set an https url. This may solve any https related issue before having to address it programmaticly.