コード例 #1
0
def signin():
    '''
  Verify and signin a user.
  '''
    user = None
    user_verified = False
    pass_verified = False
    next = request.args.get('next', None)
    if request.method == 'POST':
        try:
            user = User.query(User.username == request.form.get(
                'username', '')).get()  # NOQA
        except Exception as ex:
            pass
        user_verified = True if user else False
        if (user and user.password and User.password.verify(
                request.form.get('password'), user.password)):
            sec.token = {'usr': user.username, 'uid': user.uid}
            pass_verified = True
            return redirect(next or url_for('root'))
        else:
            user = User()
            user.fill(username=request.form.get('username'))
    return render_template('signin.html',
                           page=None,
                           user=user,
                           form_action=url_for('signin', next=next),
                           next=next,
                           user_verified=user_verified,
                           pass_verified=pass_verified)
コード例 #2
0
def signup():
    '''
  Register a new user.
  '''
    user = None
    pass_verified = None
    next = request.args.get('next', None)
    if request.method == 'POST':
        try:
            user = User()
            user.fill(**request.form.to_dict())
            pass_verified = request.form.get('verify') == request.form.get(
                'password')  # NOQA
            if user.valid() and user.unique and pass_verified:
                user.put()
                sec.token = {'usr': user.username, 'uid': user.uid}
                return redirect(next or url_for('root'))
        except Exception as ex:
            print('bad user')
            print(ex)
            return abort(500)
    return render_template('signup.html',
                           page=None,
                           user=user,
                           form_action=url_for('signup', next=next),
                           next=next,
                           pass_verified=pass_verified)
コード例 #3
0
def login():
  user = None
  pass_verified = False
  if request.method == 'POST':
    user = User.query(User.username == request.form.get('username')).get()
    if not user:
      user = User()
      user.fill(username=request.form.get('username'))
    if (user and user.password and
      User.password.verify(request.form.get('password'), user.password)):
      sec.token = {'username': user.username}
      pass_verified = True
      return redirect(url_for('auth.welcome'))
  try:
    return render_template('login.html',
                            auth=user, pass_verified=pass_verified)
  except TemplateNotFound:
    abort(404)
コード例 #4
0
def signup():
  user = None
  pass_verified = None
  if request.method == 'POST':
    try:
      user = User()
      user.fill(**request.form.to_dict())
      pass_verified = request.form.get('verify') == request.form.get('password')
      if user.valid() and user.unique and pass_verified:
        user.put()
        sec.token = {'username': user.username}
        return redirect(url_for('auth.welcome'))
    except Exception as ex:
      print('bad user')
      print(ex)
  try:
    return render_template('signup.html', auth=user, pass_verified=pass_verified)
  except TemplateNotFound:
    abort(404)