示例#1
0
    def callback(self):
        oauth_token = self.handler.request.get('oauth_token')
        if not oauth_token: self.login()
        
        chk = libs.cpu.CPUChecker("auth.callback")
        
        # Request Token
        chk.kokokara()
        request_token = OAuthRequestToken.get_request_token(oauth_token)
        chk.kokomade("OAuthRequestToken.get_request_token")
        if not request_token:
            logging.warning('callback: None Request Token')
            return

        chk.kokokara()
        access_url = self.client. \
            get_data_from_signed_url(self.client.access_token_url, request_token)
        request_token.delete()
        chk.kokomade("request_token.delete")
        
        # Access Token
        try:
            params = dict(token.split('=') for token in access_url.split('&'))
        except:
            logging.warning('callback: Invalid URL=%s' % access_url)
            return
        
        name = params.get('screen_name')
        if not name:
            logging.warning('callback: screen_name is None')
            return
        
        chk.kokokara()
        access_token = OAuthAccessToken.get_access_token(params)
        access_token._name = name
        chk.kokomade("OAuthAccessToken.get_access_token")
        
        return access_token