Example #1
0
def login():
    user_form = UserForm(request.form)

    if user_form.validate():
        user_service = UserService(user_form.data)
        result = user_service.login()
        return Response.successByMessage(em='登陆成功', data=result)
    else:
        return Response.errorByMessage(em='参数校验失败')
Example #2
0
def confirm_email(token):
    try:
        email = UserService.verify_email_token(token)
    except:
        flash('The confirmation link is invalid or has expired.', 'danger')

    user = UserService.get_by_email(email['email'])
    if user['confirmed']:
        flash('Account already confirmed. Please login.', 'success')
    else:
        UserService.update_confirmed_user(email['email'])
        flash('You have confirmed your account. Thanks!', 'success')
    return redirect(url_for('admin.signin'))
Example #3
0
    def get(self):
        # get meta data
        meta = RequestParams.pagination()

        # get data from repository by service
        users = UserService.getAllData(page_position=meta['PagePosition'],
                                       page_size=meta['PageSize'])

        # data serialization
        data = UserService.serialization(users['Data'], many=True)

        # json response
        response = Response.json(data, users['Meta'])
        return response, 200
Example #4
0
def signin():
    if request.method == 'GET':
        return render_template('admin/signin.html')

    email = request.form.get('email')
    password = request.form.get('password')

    user = UserService.get_by_email(email)

    if user is not None and UserService.check_password(user['id'], password):
        login_admin(user['id'])
        return redirect(url_for('admin.show_posts'))

    return render_template('admin/signin.html')
Example #5
0
    def post(self):
        # get payload
        payload = User.parser.parse_args()

        # check user
        user = UserService.getDataByUsername(payload['username'])
        if user and safe_str_cmp(user.password, payload['password']):
            access_token = create_access_token(identity=user.id, fresh=True)
            refresh_token = create_refresh_token(user.id)
            return {
                'access_token': access_token,
                'refresh_token': refresh_token
            }, 200

        return {'message': 'invalid credentials'}, 401
Example #6
0
def signup():
    form = SignupForm()

    if 'admin_uid' in session:
        return render_template('admin/index.html', form=form)

    if request.method == 'GET':
        return render_template('admin/signup.html', form=form)

    username = form.username.data
    password = form.password.data
    email = form.email.data

    user = UserService.add_user(username, password, email)

    token = UserService.generate_email_token(user['email'])

    confirm_url = url_for('admin.confirm_email', token=token, external=True)
    html = render_template('admin/email.html', confirm_url=confirm_url)
    subject = "Please confirm your email"
    sender = 'bababa'
    send_email(subject, sender, user['email'], html)

    return render_template('admin/signin.html', form=form)
Example #7
0
 def wrapper(*args, **kwargs):
     user_id = session['admin_uid']
     if user_id:
         token = UserService.generate_auth_token(user_id)
         user = UserService.verify_auth_token(token)
     return method(*args, **kwargs)
Example #8
0
def get_my_profile(user_id):
    user = UserService.get(user_id)
    if not user:
        pass
    # return jsonify({ 'resource': "hello, world!" })
    return render_template('admin/user.html', user=user)
Example #9
0
def get_auth_token():
    user_id = session['admin_uid']
    token = UserService.generate_auth_token(user_id)
    session['token'] = token
    return jsonify({'token': token.decode('ascii')})
Example #10
0
 def wrapper(*args, **kwargs):
     user_id = session['admin_uid']
     if user_id:
         token = UserService.generate_auth_token(user_id)
         user = UserService.verify_auth_token(token)
     return method(*args, **kwargs)