I created an app that does some automation using Facebook groups but I'm having a small issue with my registration/login workflow. The app requires the users' Facebook user_managed_groups permission to do it's work so I opted to have the user login/register with Facebook and OAuth and there is no other way to get access to my app. The issue I ran into is that Facebook does not always return the user email address in some cases (privacy, SMS signup).

Reading this and this tell me that a Facebook only login is not a great idea, but my application is literally useless without Facebook so I think in my case this Facebook login is required (please feel free to dispute this if I'm missing something).

I would like a valid user email address on system, but now I'm torn on whether to offer a pre-registration with email address only or do it after the Facebook login/registration?

Thinking things through if I have users pre-register to give their email address they would have the following steps:

  1. Register
  2. Wait for email then confirm email address
  3. Connect their Facebook

On the other hand with Facebook registration they would simply connect their Facebook and go on their merry way. The only problem I see with the second flow is if there is no email on file and I ask for it then it would have to be confirmed before I could send them emails.

I'm very new to this so I feel like I'm missing something. What is the best way to handle this Facebook null email exception?

1 Answer 1


In cases where Facebook does provide an email, your step #2 is redundant, right? So maybe this procedure is better:

  1. Connect their Facebook
  2. If you need info that Facebook hasn't provided (including email), ask the user for it here. If FB gave you everything you need for registration, then there is no step 2.

Does that make sense?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.