You should maybe take a look at the Twitter plugin which if I recall right also uses OAuth. Probably you can adapt it to do the same or similar for FB.
To your last question you will need the object model in any case anyway. For example to get the current logged in admin users so you know which one to log in with. Since ZP can have multiple admins.