cleaner method of creating/authenticating users via oauth

- also ensure that user has a name, which is required for ssh-key
  feature