support Shibboleth SSO

Should check if the account already exists before adding it to database.