Example #1
0
    def callback(self, request):
        """
        View that gets the oauth_token from Twitter and signs in a User.

        Note: You must set this callback URL in Twitter's Application
        Details page.  Twitter ignores OAuth's oauth_callback option.
        """
        # Ensure that the user came in through signin().
        request_token = request.twitter_request_token
        if request_token is None:
            return self._redirect_to_login(request=request)
        # Ensure that the session's token matches Twitter's token.
        if request_token.key != request.GET.get('oauth_token'):
            remove_tokens(request)
            return self._redirect_to_login(request=request)
        # Save the access token in the session.
        api = TwitterApi(request_token)
        try:
            access_token = fail_whale(api.getAccessToken)()
        except HTTPError, e:
            if e.code == 401:
                # Restart the authentication process, as Twitter thinks
                # we're unauthorized.
                return HttpResponseRedirect(reverse('twitter_signin'))
            raise
Example #2
0
    def callback(self, request):
        """
        View that gets the oauth_token from Twitter and signs in a User.

        Note: You must set this callback URL in Twitter's Application
        Details page.  Twitter ignores OAuth's oauth_callback option.
        """
        # Ensure that the user came in through signin().
        request_token = request.twitter_request_token
        if request_token is None:
            return self._redirect_to_login(request=request)
        # Ensure that the session's token matches Twitter's token.
        if request_token.key != request.GET.get('oauth_token'):
            remove_tokens(request)
            return self._redirect_to_login(request=request)
        # Save the access token in the session.
        api = TwitterApi(request_token)
        try:        
            access_token = fail_whale(api.getAccessToken)()
        except HTTPError, e:
            if e.code == 401:
                # Restart the authentication process, as Twitter thinks
                # we're unauthorized.
                return HttpResponseRedirect(reverse('twitter_signin'))
            raise
Example #3
0
 def _unassociate(self, request, raw=False):
     """
     Unassociate a TwitterUser from a User and remove tokens from session.
     """
     user = request.user
     remove_tokens(request)
     try:
         screen_name = user.twitter.screen_name
         user.twitter.delete()
         del user._twitter_cache
         if not raw:
             twitter_user_unassociated.send(sender=self.__class__,
                                            user=user,
                                            screen_name=screen_name)
     except TwitterUser.DoesNotExist:
         pass
Example #4
0
 def _unassociate(self, request, raw=False):
     """
     Unassociate a TwitterUser from a User and remove tokens from session.
     """
     user = request.user
     remove_tokens(request)
     try:
         screen_name = user.twitter.screen_name
         user.twitter.delete()
         del user._twitter_cache
         if not raw:
             twitter_user_unassociated.send(sender=self.__class__,
                                            user=user,
                                            screen_name=screen_name)
     except TwitterUser.DoesNotExist:
         pass