oidc working again (getting less info to limit cookie size)

This commit is contained in:
Tobias Kurze
2020-07-28 15:09:08 +02:00
parent de398d189a
commit cc334f1727
8 changed files with 40 additions and 18 deletions

View File

@@ -28,6 +28,7 @@ from werkzeug.routing import BuildError
from backend import db, app, jwt_extended
from backend.api import auth_api_bp, auth_api_providers_ns, auth_api_register_ns
from backend.auth import AUTH_PROVIDERS, oidc_auth
from backend.auth.oidc_config import PROVIDER_NAME
from backend.models.user_model import User, Group, BlacklistToken
logger = logging.getLogger("lrc.api.auth")
@@ -133,6 +134,7 @@ def create_or_retrieve_user_from_userinfo(userinfo):
try:
email = userinfo["email"]
except KeyError:
logger.error("email is missing in OIDC userinfo! Can't create user!")
return None
user_groups = check_and_create_groups(groups=userinfo.get("memberOf", []))
@@ -161,13 +163,12 @@ def create_or_retrieve_user_from_userinfo(userinfo):
@auth_api_bp.route('/oidc', methods=['GET'])
@auth_api_bp.route('/oidc/<redirect_url>', methods=['GET'])
@oidc_auth.oidc_auth()
@oidc_auth.oidc_auth(provider_name=PROVIDER_NAME)
def oidc(redirect_url=None):
logger.debug("oidc auth endpoint:")
return "fuck!"
user = create_or_retrieve_user_from_userinfo(flask.session['userinfo'])
if user is None:
logger.error("Could not authenticate: could not find or create user.")
logger.error(f"Could not authenticate: could not find or create user:\n{str(flask.session['userinfo'])}")
return "Could not authenticate: could not find or create user.", 401
if current_app.config.get("AUTH_RETURN_EXTERNAL_JWT", False):
token = jwt.encode(flask.session['id_token'], current_app.config['SECRET_KEY'])