Esempio n. 1
0
    def authenticate(self, **kwargs):
        """Authenticate the user based on an OpenID response."""
        # Require that the OpenID response be passed in as a keyword
        # argument, to make sure we don't match the username/password
        # calling conventions of authenticate.

        openid_response = kwargs.get('openid_response')
        if openid_response is None:
            return None

        if openid_response.status != SUCCESS:
            return None
        msg = 'Attempting to authenticate drupal user %s'
        log.debug(msg % openid_response.identity_url)

        try:
            UserOpenID.objects.get(
                claimed_id__exact=openid_response.identity_url)
            msg = 'Drupal openid user resgistered already: %s'
            log.debug(msg % openid_response.identity_url)
            return None
        except UserOpenID.DoesNotExist:
            drupal_user = drupal.get_openid_user(openid_response.identity_url)
            if drupal_user:
                username, email, full_name = drupal.get_user_data(drupal_user)
                try:
                    django_user = User(username=username[:30], email=email)
                    profile = create_profile(django_user, username=username)
                    profile.full_name = full_name
                    profile.save()
                    self.associate_openid(django_user, openid_response)
                    return django_user
                except IntegrityError:
                    return None
        return None
Esempio n. 2
0
 def authenticate(self, username=None, password=None):
     log.debug("Attempting to authenticate drupal user %s" % (username, ))
     drupal_user = drupal.get_user(username)
     if drupal_user:
         try:
             profile = UserProfile.objects.get(username=drupal_user.name)
             log.debug("Drupal user already resgistered: %s" % (username, ))
             return None
         except UserProfile.DoesNotExist:
             if drupal.check_password(drupal_user, password):
                 username, email, full_name = drupal.get_user_data(
                     drupal_user)
                 try:
                     django_user = User(username=username[:30], email=email)
                     profile = create_profile(django_user,
                                              username=username)
                     profile.full_name = full_name
                     profile.set_password(password)
                     profile.save()
                     return profile.user
                 except IntegrityError:
                     return None
     else:
         log.debug("Drupal user does not exist: %s" % (username, ))
         return None
Esempio n. 3
0
    def authenticate(self, **kwargs):
        """Authenticate the user based on an OpenID response."""
        # Require that the OpenID response be passed in as a keyword
        # argument, to make sure we don't match the username/password
        # calling conventions of authenticate.

        openid_response = kwargs.get('openid_response')
        if openid_response is None:
            return None

        if openid_response.status != SUCCESS:
            return None

        user = None
        try:
            user_openid = UserOpenID.objects.get(
                claimed_id__exact=openid_response.identity_url)
            log.debug("Drupal openid user resgistered already: %s" % (openid_response.identity_url,))
            return None
        except UserOpenID.DoesNotExist:
            drupal_user = drupal.get_openid_user(openid_response.identity_url)
            if drupal_user:
                user_data = drupal.get_user_data(drupal_user)
                profile = UserProfile(**user_data)
                profile.save()
                if profile.user is None:
                    profile.create_django_user()
                self.associate_openid(profile.user, openid_response)
                return profile.user
Esempio n. 4
0
    def authenticate(self, **kwargs):
        """Authenticate the user based on an OpenID response."""
        # Require that the OpenID response be passed in as a keyword
        # argument, to make sure we don't match the username/password
        # calling conventions of authenticate.

        openid_response = kwargs.get('openid_response')
        if openid_response is None:
            return None

        if openid_response.status != SUCCESS:
            return None
        msg = 'Attempting to authenticate drupal user %s'
        log.debug(msg % openid_response.identity_url)

        try:
            UserOpenID.objects.get(
                claimed_id__exact=openid_response.identity_url)
            msg = 'Drupal openid user resgistered already: %s'
            log.debug(msg % openid_response.identity_url)
            return None
        except UserOpenID.DoesNotExist:
            drupal_user = drupal.get_openid_user(openid_response.identity_url)
            if drupal_user:
                username, email, full_name = drupal.get_user_data(drupal_user)
                try:
                    django_user = User(username=username[:30], email=email)
                    profile = create_profile(django_user, username=username)
                    profile.full_name = full_name
                    profile.save()
                    self.associate_openid(django_user, openid_response)
                    return django_user
                except IntegrityError:
                    return None
        return None
Esempio n. 5
0
 def authenticate(self, username=None, password=None):
     log.debug("Attempting to authenticate drupal user %s" % (username,))
     drupal_user = drupal.get_user(username)
     if drupal_user:
         try:
             profile = UserProfile.objects.get(username=drupal_user.name)
             log.debug("Drupal user already resgistered: %s" % (username,))
             return None
         except UserProfile.DoesNotExist:
             if drupal.check_password(drupal_user, password):
                 username, email, full_name = drupal.get_user_data(
                     drupal_user)
                 try:
                     django_user = User(username=username[:30], email=email)
                     profile = create_profile(django_user,
                         username=username)
                     profile.full_name = full_name
                     profile.set_password(password)
                     profile.save()
                     return profile.user
                 except IntegrityError:
                     return None
     else:
         log.debug("Drupal user does not exist: %s" % (username,))
         return None
Esempio n. 6
0
 def authenticate(self, username=None, password=None):
     log.debug("Attempting to authenticate drupal user %s" % (username,))
     drupal_user = drupal.get_user(username)
     if drupal_user:
         try:
             profile = UserProfile.objects.get(username=drupal_user.name)
             log.debug("Drupal user resgistered already: %s" % (username,))
             return None
         except UserProfile.DoesNotExist:
             if drupal.check_password(drupal_user, password):
                 user_data = drupal.get_user_data(drupal_user)
                 profile = UserProfile(**user_data)
                 profile.set_password(password)
                 profile.save()
                 if profile.user is None:
                     profile.create_django_user()
                 return profile.user
     else:
         log.debug("Drupal user does not exist: %s" % (username,))
         return None