Introduce OAuthProviderType enum and refactor code due to it