def oauth_callback(provider):
if not current_user.is_anonymous:
return redirect(url_for('index'))
oauth = OAuthSignIn.get_provider(provider)
xd_id, name, email = oauth.callback()
if xd_id is None:
flash('Authentication failed.')
return redirect(url_for('index'))
user = User.query.filter_by(xd_id=xd_id).first()
if not user: # Create, add and login new user. Redirect to /register
user = User(xd_id=xd_id, name=name, email=email)
db.session.add(user)
db.session.commit()
login_user(user, True)
return redirect(url_for('dash')) # previously register
else: # Login new user. Redirect to /
login_user(user, True)
return redirect(url_for('index'))
评论列表
文章目录