Avoid 'undefined undefined' displayName

When a provider does not provide the full name of the user, displayName is set to 'undefined undefined', which is annoying.

Added the condition to only set displayName if firstname and lastname parameters are set, so applications can handle empty names.