def facebook_login(self, access_token): current_user = social.get_current_user() auth = social.facebook_connect(access_token, current_user) if auth is not None: social.login(auth) return "success" return "failed"
def google_login(self): google_user = users.get_current_user() if google_user != None: current_user = social.get_current_user() auth = social.connect_google(google_user, current_user) social.login(auth) return "success" return "failed"
def post(self, device_secret_id): if not self.validate_request("type device_name device_model device_version app_name app_version".split()): return None connection_type = self.request.get('type') auth = None if connection_type == "facebook": auth = social.connect_facebook(self.request.get("service_access_token"), source="device") elif connection_type == "google": auth = social.connect_custom_oauth(self.request.get("service_access_token"), source="device") else: self.response.out.write("<!-- unknown type = "+connection_type+" -->") self.response.set_status(400, "bad request") return if auth is not None: access_token = social.login(auth) device = self.add_or_update_device(auth.user_profile, device_secret_id) response = self.response_after_connect(device, access_token) serialization.plist_dump(self.response, response) else: self.response.out.write("<!-- secure_access_token is unusable -->") self.response.set_status(403, "forbidden")