I've been trying to debug a recent issue with FB connect not displaying the extended permissions auth dialog. When I authorize the app via an FB connect button, the post_authorize event doesn't get triggered, even though everything else works. I confirmed this was the case because the corresponding 'fb_app_event_cb' log entry wasn't there even the the app appears in my FB application settings. This suggests to me that Facebook is now not calling that event for some reason, maybe due to their ever changing API semantics. If I trigger that event manually by loading that URL in my browser, the next time I load a page on my site, the permission dialog appears, and it does log the event in the watchdog.
Everything else appears to be working fine. The fb_user module maps the account fine with a local account when I register, and I can login from the login block with my fb account and it signs me in as that user. I know this isn't necessarily a bug with the fb module itself, but it seems like this is the place where other people have recorded these types of issues.
Comments
Comment #1
Dave Cohen commentedIt no longer surprises me when something breaks in their API. Keeping things working doesn't seem to be a priority over there.
Can you just confirm that your settings on http://www.facebook.com/developers/apps.php still indicate the right "Post-Authorize URL"?
Also, with the 3.x libraries, the fb:login-button now supports a perms attribute, for example perms="email" will prompt the user for email permission when they authorize, instead of after. Now I don't know if the same is true in the 2.x libs but you could try it.
Comment #2
st0nerhat commentedThanks for responding so fast. It must be really frustrating maintaining something where the upstream is a huge corporation that doesn't know anything about maintaining a development community. Nobody but Facebook would say "Reminder: Upgrade to New Data Model by June 30" (or your stuff is going to break).
Here is my post-authorize URL: http://staging.icivics.org/fb_app/event/post_authorize. The site is at staging.icivics.org, and like I mentioned before, copying and pasting that in the address bar triggers the event and if I'm logged into an FB account that is authorized, it runs all the stuff it was supposed to have done right when I authorized it.
I'll try the workaround. For 3.x, are you planning on favoring FBML or JS for the connect buttons? The FB API documentation (which is also a horrible mess of broken links), tells you on some pages you should use FBML, but on other pages that you should use JS and your own HTML markup.
Comment #3
st0nerhat commentedOMG, I'm an idiot! I have HTTP auth set on that site. Hey everyone who sees this, you can't use HTTP Auth w/ Facebook Connect!
Comment #4
st0nerhat commented