Implementing authentication using external services