I am developing a Facebook "app" (website) called FTT that uses the php-SDK to connect with Facebook. The FTT app allows members to send invitations to Facebook friends to join the app. The developer who is working on this project is having some problems figuring out how to handle sessions to ensure that the proper user is logged into the app. Here is a summary of the problem:
* User A and User B are Facebook friends and share the same computer.
* User A is registered FTT user and User B is not.
* Within FTT, User A sends invitation (to join app) to User B.
* User A logs out of Facebook and User B logs in and sees invitation.
* User B clicks on invitation link and goes to FTT but his is still logged in as User A
The developer writes:
*We use Joomla user system (user.session and user.cache ). When user logs out from FTT project we clear session and cache data, but when user logs out from Facebook, the session and cache data are still saved (we do not know if that user is logout or login from another user account on the side of Facebook). Also, if the data changes in Facebook, we have the problem with php-sdk update data. We need repeatedly reloaded the page to the data begin to be updated (because of the click to an invitation url, we first get into home page, and then to the page invitation).*
I need a coder who is VERY experienced with the Facebook API, SDK, etc. Your task will be to test the APP, review the code that is related to Facebook SDK and provide feedback on how to improve it. Though not an absolute requirement, it would also be helpful if you could create one or more flowcharts that describe how the process should work.
I need someone who can look at this with a critical eye and tell me how the current methods need to be improved or, if you think the approach is all wrong, how we might do it differently.
**Note that I am not looking for someone to create the code, but rather someone who can provide advice. ** In terms of payment, we could do this as a flat payment or an hourly rate. If things go well, I would like to be able to call on you for other advice, when required (separate payment).