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)
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)