示例#1
0
    def lookup(cookies, ip):
        cookie = facebook.get_user_from_cookie(cookies, FACEBOOK_APP_ID, FACEBOOK_APP_SECRET)
        if cookie:
            # Store a local instance of the user data so we don't need
            # a round-trip to Facebook on every request
	    user = Users.find(facebookid=cookie["uid"])
	    try:
		if not user:
		    graph = facebook.GraphAPI(cookie["access_token"])
		    profile = graph.get_object("me")
		    Users.add(ip, facebookid=str(profile['id']), name=profile['name'], profile_url=profile['link'])
		else:
		    graph = facebook.GraphAPI(cookie["access_token"])
		    profile = graph.get_object("me")
		    Users.add(ip, facebookid=str(profile['id']), name=profile['name'], profile_url=profile['link'])
		return profile
	    except:
		return
        else:
            return
示例#2
0
    def done(self):

        username = self.user_name.group().lower()

        # Check if user already exists.
        if Users.by_name(username):
            self.errors(name_error="User already exists")
        else:

            password = self.passwd.group()
            email = None

            if self.email:
                email = self.email

            # hash the password before storing in database
            passwd_hash = Secure.make_salt_password(username, password)

            # Add the user, hashed password or email to the database
            usr_obj = Users.add(username, passwd_hash, email)
            cookie_val = self.make_cookie(str(usr_obj.key().id()))
            self.set_cookie("user_id", cookie_val)
            self.redirect("/blog/newpost")