def auth(self, request):
        """
            let's auth the user to the Service
            :param request: request object
            :return: callback url
            :rtype: string that contains the url to redirect after auth
        """
        try:
            auth = self.gh.authorize(self.username,
                                     self.password,
                                     self.scope,
                                     '',
                                     '',
                                     self.consumer_key,
                                     self.consumer_secret)
            request.session['oauth_token'] = auth.token
            request.session['oauth_id'] = auth.id
        except AuthenticationFailed as e:
            messages.add_message(request, messages.ERROR, message="GITHUB RENEW FAILED : Reason {}".format(e))
            return reverse('user_services')

        return self.callback_url(request)