save which social network user uses in SocialAuth table

This commit is contained in:
Son NK 2020-02-27 22:16:12 +07:00
parent 7f70dd1678
commit 87b6df9408
3 changed files with 15 additions and 3 deletions

View File

@ -14,7 +14,7 @@ from app.config import (
)
from app.extensions import db
from app.log import LOG
from app.models import User
from app.models import User, SocialAuth
from .login_utils import after_login
from ...email_utils import can_be_used_as_personal_email, email_already_used
@ -143,4 +143,8 @@ def facebook_callback():
# reset the next_url to avoid user getting redirected at each login :)
session.pop("facebook_next_url", None)
if not SocialAuth.get_by(user_id=user.id, social="facebook"):
SocialAuth.create(user_id=user.id, social="facebook")
db.session.commit()
return after_login(user, next_url)

View File

@ -9,7 +9,7 @@ from app.config import GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, URL, DISABLE_REGI
from app.email_utils import can_be_used_as_personal_email, email_already_used
from app.extensions import db
from app.log import LOG
from app.models import User
from app.models import User, SocialAuth
from app.utils import encode_url
_authorization_base_url = "https://github.com/login/oauth/authorize"
@ -105,6 +105,10 @@ def github_callback():
flash(f"Welcome to SimpleLogin {user.name}!", "success")
if not SocialAuth.get_by(user_id=user.id, social="github"):
SocialAuth.create(user_id=user.id, social="github")
db.session.commit()
# The activation link contains the original page, for ex authorize page
next_url = request.args.get("next") if request.args else None

View File

@ -7,7 +7,7 @@ from app.auth.base import auth_bp
from app.config import URL, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, DISABLE_REGISTRATION
from app.extensions import db
from app.log import LOG
from app.models import User, File
from app.models import User, File, SocialAuth
from app.utils import random_string
from .login_utils import after_login
from ...email_utils import can_be_used_as_personal_email, email_already_used
@ -128,6 +128,10 @@ def google_callback():
# reset the next_url to avoid user getting redirected at each login :)
session.pop("google_next_url", None)
if not SocialAuth.get_by(user_id=user.id, social="github"):
SocialAuth.create(user_id=user.id, social="github")
db.session.commit()
return after_login(user, next_url)