CAS ?
Si on fait des souscriptions par utilisateurs, deux choix sont possibles:
- Il faut pouvoir les identifier pour pouvoir se souvenir de leurs préférences, pour ne pas leurs envoyer les notifications;
- Il faut pouvoir dropper les notifs inutiles côté client, dans le worker;
Dans le premier cas, on peut se baser sur le CAS, avec un snippet en dessous basé sur flask_cas:
from flask import Flask
from flask_cas import CAS,login_required
app = Flask(__name__, static_url_path='')
cas = CAS(app)
app.config['CAS_SERVER'] = 'https://cas.ens-lyon.fr'
app.config['CAS_AFTER_LOGIN'] = 'main'
@app.route('/', methods=['GET', 'POST'])
@login_required
def main():
if (cas.username):
return "Hello " + cas.username
else:
return "Identification needed!"
app.secret_key = 'super_secret'
if __name__ == '__main__':
app.run(host='0.0.0.0', port='8081')
Ce n'est qu'un exemple, et dans l'idéal, si cette solution est choisie, il faudrait utiliser du flask-security avec un frontend de ce type.