Exemple #1
0
    def redirectAuthorizeURL(self, environ, start_response):
        '''
        認証 URL 作成
        '''

        token = self.getRequestToken()

        self.saveRequestToken(token, environ)

        redirectto = self.authorizeURL+'?'+urllib.urlencode(dict(oauth_token=token.token))

        return responses.redirect(redirectto)(environ, start_response)
Exemple #2
0
    def authCallback(self, environ, start_response):
        '''
        認証成功時のコールバック受け取り
        '''

        form = cgi.FieldStorage(environ=environ)

        token = form['oauth_token'].value
        
        verifier = form['oauth_verifier'].value if 'oauth_verifirie' in form else None

        actoken = self.getAccessToken(token, verifier, environ)

        self.saveAccessToken(actoken, environ)

        session = self.makeSessionKey(actoken, environ)

        self.saveSession(session, actoken, environ)

        cookie = environ.get('HTTP_COOKIE')

        ck = Cookie.SimpleCookie(cookie)

        ck[self.sessionKey] = session


        def start_response_wrapper(code, headers, traceback=None):

            cookies = [tuple(y.strip() for y in x.split(':')) for x in ck.output().splitlines()]

            print headers+cookies

            start_response(code, headers+cookies, traceback)
        

        return responses.redirect(self.redirectURL)(environ, start_response_wrapper)