Exemplo n.º 1
0
def _get_redirect_url(handler):
    redirect_url = None
    if not handler.current_user:
        logging.debug('not authenticated')
        redirect_url = handler.settings['login_url']
        if "?" not in redirect_url:
            redirect_url += "?" + utils.unicode_urlencode(
                dict(next=handler.request.path)
            )
    else:
        user = handler.current_user
        logging.debug(user)
        if not bool(user.sub_level and user.sub_expires > datetime.utcnow()):
            logging.debug('subscription expired')
            # log the user out to 'uncache' the authenticated user
            domain = '.%s' % handler.settings['domain']
            next = handler.get_argument('next', '/')
            handler.clear_cookie('user_id', domain=domain)
            # send them to spreedly to reenergise their subscription
            redirect_url = clients.spreedly.get_subscribe_url(
                int(user.id),
                config.spreedly['paid_plan_id'], 
                user.login
            )
    return redirect_url
Exemplo n.º 2
0
 def encode_authentication_data(self, extra_post_data):
     """Try oauth access_token first, fall back 
       on login + api token.
     """
     
     if self.access_token:
         post_data = {
             "access_token": self.access_token
         }
     elif self.username and self.api_token:
         post_data = {
             "login": self.username,
             "token": self.api_token
         }
     else:
         post_data = {}
     post_data.update(extra_post_data)
     return utils.unicode_urlencode(post_data)