def callback(self, provider):
        """
        Handles 3rd party callback and processes it's data
        """
        provider = self.get_provider(provider)
        try:
            return provider.authorized_handler(self.login)(provider=provider)
        except OAuthException as ex:
            logging.error("Data: %s", ex.data)
            raise