The solution I use and recommit is to link the Facebook profile to your site's profile by email address.
You need to integrate the authorization process with Facebook's OAuth using the requested API scope that includes the 'email' value.
This will allow you to make a call to the Facebook API for this address below to request the user's email.
https://graph.facebook.com/me
There in your application you check if you already have some users with the email returned. If it does not exist, you create a new one with user data obtained from Facebook.
If it already exists, you simply start a logged in user session for the user of your site who has the email returned by Facebook.
I've used this scheme on my sites for about 2 years and users loved it because I never ask for username and password. Users hate having to register a new password and do the usual email verification process. So with OAuth both things are avoided.
Even though I allow the usual username, password and email address for those who do not have a Facebook account or do not want to sign in to Facebook.
Incidentally, I not only let you log in through Facebook, but also through Google, Yahoo, Microsoft, StackOverflow and GitHub. Most of these sites use the OAuth schema. Some only provide email via OpenID.
So I've developed a generic PHP for OAuth class that has integrated support for dozens of APIs, and can support many more with manual configuration.
Not a class specific to the Zend Framework, but can be used with any framework including Zend. Here's an example of how to log into Facebook by OAuth using this class.