コード例 #1
0
ファイル: views.py プロジェクト: nlyubchich/ask_linguist
def google_authorized():
    next_url = request.args.get('next') or url_for('.index')
    resp = google.authorized_response()
    if resp is None:
        return 'Access denied: reason=%s error=%s' % (
            request.args['error_reason'],
            request.args['error_description']
        )
    session['google_token'] = (resp['access_token'], '')
    person = google.get('userinfo').data
    user_email = person['email']
    user = load_user(user_email)
    if not user:
        nick_name = person['name']
        first_name = person['given_name']
        last_name = person['family_name']
        user = bl.create_user(
            email=user_email,
            nick_name=nick_name,
            first_name=first_name,
            last_name=last_name,
            register_type=User.RegisterType.google_oauth.value,
        )

    login_user(user, remember=True)
    db.session.add(user)
    db.session.commit()

    return redirect(next_url)
コード例 #2
0
ファイル: views.py プロジェクト: nlyubchich/ask_linguist
def register():
    form = RegisterForm()
    if form.validate_on_submit():
        user = bl.create_user(
            email=form.email.data,
            nick_name=form.nick_name.data,
            first_name=form.first_name.data,
            last_name=form.last_name.data,
            register_type=User.RegisterType.inplace.value,
        )
        user.password = generate_password_hash(form.password.data)
        db.session.add(user)
        db.session.commit()

        login_user(user, remember=True)
        return redirect(url_for('dashboard.default_dashboard'))
    return render_template('index/register.html', form=form)