Deleted unnecessary Factory.
Check for the end of input to avoid java.io.EOFException.
Check that the parsed object is not null before the foreach to avoid NullPointerException.
Using a reusable code block to correctly display the user email address.
Display the openID if was not possible to obtain the user name with the provider.