Skip to content
Snippets Groups Projects
Commit 952d2e2b authored by Emmanuel Viennet's avatar Emmanuel Viennet
Browse files

CAS: améliore traitement erreurs réponse serveur CAS

parent ad1d8c35
Branches
No related tags found
No related merge requests found
......@@ -114,7 +114,7 @@ def logout():
return flask.redirect(redirect_url)
def validate(ticket):
def validate(ticket) -> bool:
"""
Will attempt to validate the ticket. If validation fails, then False
is returned. If validation is successful, then True is returned
......@@ -172,15 +172,22 @@ def validate(ticket):
if "cas:authenticationSuccess" in xml_from_dict["cas:serviceResponse"]
else False
)
except (ValueError, ExpatError) as exc:
except (ValueError, ExpatError, KeyError) as exc:
current_app.logger.error(f"CAS returned unexpected result: {exc}")
current_app.logger.error(f"Received data from CAS server:\n{xmldump}\n\n")
if cas_error_callback:
cas_error_callback("réponse invalide du serveur CAS")
return False # unreachable (cas_error_callback should raise exception)
except URLError:
current_app.logger.error("CAS : error validating token: check SSL certificate")
cas_error_callback(
"erreur connexion au serveur CAS: vérifiez le certificat SSL"
)
return False # unreachable
except Exception as exc:
current_app.logger.error(f"CAS : unkown error validating token: {exc}")
cas_error_callback("erreur décodage réponse CAS")
return False # unreachable
if is_valid:
current_app.logger.debug("valid")
......
......@@ -3,7 +3,7 @@
"Infos sur version ScoDoc"
SCOVERSION = "9.7.58"
SCOVERSION = "9.7.59"
SCONAME = "ScoDoc"
......
......@@ -491,7 +491,7 @@ def user_edit(
dept=None,
verbose=False,
):
"""Add or remove a role to the given user in the given dept"""
"""Modify or display user's account attributes."""
user: User = User.query.filter_by(user_name=username).first()
if not user:
sys.stderr.write(f"user_role: user {username} does not exists\n")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment