If you subscribe to auth.statusChange event, it might do the trick, as noted on this page:
Typically you will want to use the auth.sessionChange event. But in rare cases, you want to distinguish between these three states:
- Connected
- Logged into Facebook but not connected with your application
- Not logged into Facebook at all.
The FB.Event.subscribe and FB.Event.unsubscribe functions are used to subscribe to these events.
Returned status would contain either connected, notConnected (logged in to facebook but not to your app) or unknown.
I am not sure if this would work as planned though as I haven't tried it myself. It might return notConnected status only for users that authorized your app in the past, but it seems like a step in the right direction.