diff --git a/auth/src/main/java/com/firebase/ui/auth/provider/FacebookProvider.java b/auth/src/main/java/com/firebase/ui/auth/provider/FacebookProvider.java index d4bfaa441..7fc91c0f0 100644 --- a/auth/src/main/java/com/firebase/ui/auth/provider/FacebookProvider.java +++ b/auth/src/main/java/com/firebase/ui/auth/provider/FacebookProvider.java @@ -22,6 +22,7 @@ import com.facebook.CallbackManager; import com.facebook.FacebookCallback; import com.facebook.FacebookException; +import com.facebook.FacebookRequestError; import com.facebook.FacebookSdk; import com.facebook.GraphRequest; import com.facebook.GraphResponse; @@ -125,12 +126,24 @@ public void onSuccess(final LoginResult loginResult) { new GraphRequest.GraphJSONObjectCallback() { @Override public void onCompleted(JSONObject object, GraphResponse response) { - try { - String email = object.getString("email"); - mCallbackObject.onSuccess(createIDPResponse(loginResult, email)); - } catch (JSONException e) { - e.printStackTrace(); + FacebookRequestError requestError = response.getError(); + if(requestError != null) { + Log.e(TAG, + "Received Facebook error: " + requestError.getErrorMessage()); mCallbackObject.onFailure(new Bundle()); + return; + } + if (object == null) { + Log.w(TAG, "Received null response from Facebook GraphRequest"); + mCallbackObject.onFailure(new Bundle()); + } else { + try { + String email = object.getString("email"); + mCallbackObject.onSuccess(createIDPResponse(loginResult, email)); + } catch (JSONException e) { + Log.e(TAG, "JSON Exception reading from Facebook GraphRequest", e); + mCallbackObject.onFailure(new Bundle()); + } } } });