creating users from oidc id token
This commit is contained in:
10
auth/oidc.py
10
auth/oidc.py
@@ -8,7 +8,7 @@ from flask import jsonify
|
|||||||
from flask_pyoidc.flask_pyoidc import OIDCAuthentication
|
from flask_pyoidc.flask_pyoidc import OIDCAuthentication
|
||||||
from flask_pyoidc.user_session import UserSession
|
from flask_pyoidc.user_session import UserSession
|
||||||
|
|
||||||
from backend import app
|
from backend import app, db
|
||||||
from backend.models.user_model import User
|
from backend.models.user_model import User
|
||||||
from . import auth_bp
|
from . import auth_bp
|
||||||
from .oidc_config import PROVIDER_NAME, OIDC_PROVIDERS
|
from .oidc_config import PROVIDER_NAME, OIDC_PROVIDERS
|
||||||
@@ -32,12 +32,18 @@ def create_or_retrieve_user_from_userinfo(userinfo):
|
|||||||
user = User.get_by_identifier(email)
|
user = User.get_by_identifier(email)
|
||||||
|
|
||||||
if user is not None:
|
if user is not None:
|
||||||
app.logger("user found")
|
app.logger.info("user found")
|
||||||
return user
|
return user
|
||||||
|
|
||||||
user = User(email=email, first_name=userinfo.get("given_name", ""),
|
user = User(email=email, first_name=userinfo.get("given_name", ""),
|
||||||
last_name=userinfo.get("family_name", ""))
|
last_name=userinfo.get("family_name", ""))
|
||||||
|
|
||||||
|
app.logger.info("creating new user")
|
||||||
|
|
||||||
|
db.session.add(user)
|
||||||
|
db.session.commit()
|
||||||
|
return user
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@auth_bp.route('/oidc', methods=['GET'])
|
@auth_bp.route('/oidc', methods=['GET'])
|
||||||
|
|||||||
@@ -74,8 +74,8 @@ class User(UserMixin, db.Model):
|
|||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
return User.query.filter(or_(User.nickname == identifier,
|
return User.query.filter(or_(User.nickname == identifier,
|
||||||
User.email == identifier),
|
User.email == identifier,
|
||||||
User.id == identifier).first()
|
User.id == identifier)).first()
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_all():
|
def get_all():
|
||||||
|
|||||||
Reference in New Issue
Block a user