Ejemplo n.º 1
0
def verify_email(user_id, verify_code):
	user_name = User.get_name(user_id)
	if verify_code == hashlib.sha1(user_name).hexdigest():
		User.active_user(user_id)
		session['user_id'] = user_id
		session['user_name'] = user_name
		return redirect(url_for('verify_email_callback', state='active_succ'))
	else:
		return redirect(url_for('verify_email_callback', state='active_failed'))
Ejemplo n.º 2
0
def verify_email(user_id, verify_code):
    user_name = User.get_name(user_id)
    if verify_code == hashlib.sha1(user_name).hexdigest():
        User.active_user(user_id)
        session['user_id'] = user_id
        session['user_name'] = user_name
        return redirect(url_for('verify_email_callback', state='active_succ'))
    else:
        return redirect(url_for('verify_email_callback',
                                state='active_failed'))
Ejemplo n.º 3
0
def auth():
    code = request.args['code']

    # get access token and userID
    url = "https://www.douban.com/service/auth2/token"
    data = {
        'client_id': '0cf909cba46ce67526eb1d62ed46b35f',
        'client_secret': '4c87a8ef33e6c6be',
        'redirect_uri': 'http://localhost:5000/login/douban',
        'grant_type': 'authorization_code',
        'code': code
    }
    data = urllib.urlencode(data)
    req = urllib2.Request(url, data)
    response = urllib2.urlopen(req)
    info = eval(response.read())
    user_id = int(info['douban_user_id'])

    # if user exist
    if User.check_user_exist(user_id):
        # if user unactive
        if not User.check_user_active(user_id):
            return redirect(
                url_for('verify_email_callback',
                        state='unactive',
                        user_id=user_id))
        else:
            # set session
            session['user_id'] = user_id
            session['user_name'] = User.get_name(user_id)
            return redirect(url_for('index'))
    # if not exist
    else:
        # get user info
        url = "https://api.douban.com/v2/user/" + str(user_id)
        req = urllib2.Request(url)
        response = urllib2.urlopen(req)
        user_info = eval(response.read().replace(
            '\\', ''))  # remove '\' and convert str to dict

        # add user
        user_id = int(user_info['id'])
        user_name = user_info['name']
        avatar = user_info['avatar']
        signature = user_info['signature']
        desc = user_info['desc']
        location_id = int(user_info['loc_id'])
        location = user_info['loc_name']
        User.add_user(user_id, user_name, avatar, signature, desc, location_id,
                      location)

        # go to the verify email page
        return redirect(url_for('send_verify_email', user_id=user_id))
Ejemplo n.º 4
0
def send_verify_email():
    if request.method == 'GET':
        user_id = int(request.args['user_id'])
        user_name = User.get_name(user_id)
        return render_template('send_verify_email.html',
                               user_id=user_id,
                               user_name=user_name)
    elif request.method == 'POST':
        # email
        f_addr = "*****@*****.**"
        t_addr = request.form['email']

        # user info
        user_id = int(request.form['user_id'])
        user_name = User.get_name(user_id)

        # add this email to user
        User.add_email(user_id, t_addr)

        # gene verify url
        verify_code = hashlib.sha1(user_name).hexdigest()
        verify_url = "http://*****:*****@qq.com', 'xiaowang2013qqzi')
        s.sendmail('*****@*****.**', t_addr, msg.as_string())

        return redirect(url_for('verify_email_callback', state='send_succ'))
Ejemplo n.º 5
0
def send_verify_email():
	if request.method == 'GET':
		user_id = int(request.args['user_id'])
		user_name = User.get_name(user_id)
		return render_template('send_verify_email.html', user_id=user_id, user_name=user_name)
	elif request.method == 'POST':
		# email
		f_addr = "*****@*****.**"
		t_addr = request.form['email']

		# user info
		user_id = int(request.form['user_id'])
		user_name = User.get_name(user_id)

		# add this email to user
		User.add_email(user_id, t_addr)

		# gene verify url
		verify_code = hashlib.sha1(user_name).hexdigest()
		verify_url = "http://*****:*****@qq.com', 'xiaowang2013qqzi')
		s.sendmail('*****@*****.**', t_addr, msg.as_string())

		return redirect(url_for('verify_email_callback', state='send_succ'))
Ejemplo n.º 6
0
def auth():
	code = request.args['code']

	# get access token and userID
	url = "https://www.douban.com/service/auth2/token"
	data = {
		'client_id': '0cf909cba46ce67526eb1d62ed46b35f',
		'client_secret': '4c87a8ef33e6c6be',
		'redirect_uri': 'http://localhost:5000/login/douban',
		'grant_type': 'authorization_code',
		'code': code
	}
	data = urllib.urlencode(data)
	req = urllib2.Request(url, data)
	response = urllib2.urlopen(req)
	info = eval(response.read())
	user_id = int(info['douban_user_id'])

	# if user exist
	if User.check_user_exist(user_id):
		# if user unactive
		if not User.check_user_active(user_id):
			return redirect(url_for('verify_email_callback', state='unactive', user_id=user_id))
		else:
			# set session
			session['user_id'] = user_id
			session['user_name'] = User.get_name(user_id)
			return redirect(url_for('index'))
	# if not exist
	else:
		# get user info
		url = "https://api.douban.com/v2/user/" + str(user_id)
		req = urllib2.Request(url)
		response = urllib2.urlopen(req)
		user_info = eval(response.read().replace('\\', ''))	# remove '\' and convert str to dict

		# add user
		user_id = int(user_info['id'])
		user_name = user_info['name']
		avatar = user_info['avatar']
		signature = user_info['signature']
		desc = user_info['desc']
		location_id = int(user_info['loc_id'])
		location = user_info['loc_name']
		User.add_user(user_id, user_name, avatar, signature, desc, location_id, location)

		# go to the verify email page
		return redirect(url_for('send_verify_email', user_id=user_id))