correction bug sur la re-création du token après avoir changer l'heure et la date

This commit is contained in:
Vincent BENOIT
2023-01-03 09:36:19 +01:00
parent 5a681b41a8
commit 121bff739e

View File

@@ -102,9 +102,9 @@ def execute_cmd(args=""):
@dt.route('/update_datetime', methods=['POST'])
@jwt_required()
def update_datetime():
''' Mise à jour de la date et heure du système
''' Mise a jour de la date et heure du système
'''
current_app.logger.info("Mise à jour de la date et heure du système")
current_app.logger.info("Mise a jour de la date et heure du système")
current_user = get_jwt_identity()
# recuperation des attributs JSON de la requete
data_req = request.get_json()
@@ -112,13 +112,25 @@ def update_datetime():
setdate_cmd = ['sudo', '/bin/date', '-s', data_req['datetime']]
if not execute_cmd(setdate_cmd):
abort(status.HTTP_500_INTERNAL_SERVER_ERROR,
description='Mise à l\'heure du système impossible')
description='Mise a l\'heure du système impossible')
setdate_cmd = ['sudo', '/sbin/hwclock', '-w']
if not execute_cmd(setdate_cmd):
abort(status.HTTP_500_INTERNAL_SERVER_ERROR,
description='Mise à l\'heure de l\horloge matérielle impossible')
if os.path.exists("/dev/rtc0"):
setdate_cmd = ['sudo', '/sbin/hwclock', '-w']
if not execute_cmd(setdate_cmd):
abort(status.HTTP_500_INTERNAL_SERVER_ERROR,
description='Mise a l\'heure de l\horloge materielle impossible')
else:
current_app.logger.warning("horloge materielle non presente ...")
current_app.logger.warning("On doit recréer un token JWT ....")
access_token = create_access_token(identity=current_user)
# refresh token in storage place
if os.path.exists(os.path.join("/tmp", current_app.config['PROJECT'])):
with open(os.path.join("/tmp", current_app.config['PROJECT'], get_jwt_identity()['id']), 'w') as f:
f.write(access_token)
# Modifiy a Flask Response to set a cookie containing the access JWT.
content = jsonify({'message':'maj date and time successful!'})
set_access_cookies(content, access_token)
content = {'message':'maj date and time successful!'}
return content, status.HTTP_200_OK