I'm not sure if it works the same or differently for different providers using RPX but if Facebook requires a form post to your site they cannot post to localhost, because localhost always refers to the current machine it is not a unique address identifying your developer machine. Any machine posting to localhost is really posting to itself. localhost is a host name that by convention on every machine under every operating system is mapped to the loopback address 127.0.0.1 so it refers every machine to itself.
This issue comes into play during development from time to time, like you cannot for example test google checkout on a localhost dev machine because google posts to the machine and it can't post to your localhost machine. So to tes it you need a dev box with a public facing ip address and host name.
If the same issue is going on with Facebook, you will find it works fine when you deploy your site to production but it just doesn't work on localhost.
Hope it helps,