def post(self): #get login agruments. Arguments include facebook accessToken, expiration date, and user fb_id from wigi.models.models import User, WigiTokens assert(self.get_argument("wigi_accessToken")) assert(self.get_argument("wigi_expr_token")) assert(self.get_argument("wigi_fb_id")) #check if user exists if(User.doesUserExist(int(self.get_argument("wigi_fb_id")))): #if user exists, check accesstoken user = User.getUserForFbId(int(self.get_argument("wigi_fb_id"))) if user.access_token == self.get_argument("wigi_accessToken"): print "user's accesstoken matches" #if accesstoken matches, get secure wigi token userToken = WigiTokens.getTokenForUser(user) #if no token exists for user, create one if not userToken: userToken = WigiTokens.createNewToken(user) #write token to response self.write(tornado.escape.json_encode({'wigi_token':userToken.wigi_token, 'wigi_id':user.id})) self.finish() else: #Most likely new access token was given #create new token for user based on new access token userToken = WigiTokens.createNewToken(user) #write token to response self.write(tornado.escape.json_encode({'wigi_token':userToken.wigi_token, 'wigi_id':user.id})) self.finish() else: print "user doesn't exist" #if user doesn't exist, determine if accesstoken is valid and create user, then create wigi token and write to response self.accessToken = self.get_argument("wigi_accessToken") self.facebook_request("/me", access_token=self.get_argument("wigi_accessToken"), callback=self.async_callback(self.__is_access_token_valid))