web-dev-qa-db-fra.com

Où puis-je obtenir un SECRET_KEY pour Flask?

J'essaie de configurer Flask-Debugtoolbar, mais je reçois le message "DebugToolBar nécessite un SECRET_KEY". Où puis-je obtenir la clé secrète?

31
Tendi

La clé secrète est nécessaire pour sécuriser les sessions côté client. Vous pouvez générer une clé aléatoire comme ci-dessous:

>>> import os
>>> os.urandom(24)
'\xfd{H\xe5<\x95\xf9\xe3\x96.5\xd1\x01O<!\xd5\xa2\xa0\x9fR"\xa1\xa8'

Prenez simplement cette clé et copiez/collez-la dans votre fichier de configuration

SECRET_KEY = '\xfd{H\xe5<\x95\xf9\xe3\x96.5\xd1\x01O<!\xd5\xa2\xa0\x9fR"\xa1\xa8'

Voir la documentation Sessions

36
r-m-n

Obtenez la chaîne aléatoire pour la clé secrète:

Méthode 1: Utilisez os dans Python 2/3:

>>> import os
>>> os.urandom(12)
'\xf0?a\x9a\\\xff\xd4;\x0c\xcbHi'

Méthode 2: Utilisez uuid dans Python 2/3:

>>> import uuid
>>> uuid.uuid4().hex
'3d6f45a5fc12445dbac2f59c3b6c7cb1'

Méthode 3: Utilisez secrets dans Python> = 3.6:

>>> import secrets
>>> secrets.token_urlsafe(16)
'Drmhze6EPcv0fN_81Bj-nA'

Méthode 4: Utilisez os dans Python 3:

>>> import os
>>> os.urandom(12).hex()
'f3cfe9ed8fae309f02079dbf'

Définir la clé secrète dans Flask

Méthode 1: Utilisez app.secret_key:

app.secret_key = 'the random string'

Méthode 2: Utilisez app.config:

app.config['SECRET_KEY'] = 'the random string'    

Méthode 3: Mettez-le dans votre fichier de configuration:

SECRET_KEY = 'the random string'
15
Grey Li

Afin d'utiliser la session dans flask vous devez définir la clé secrète dans les paramètres de votre application. La clé secrète est une clé aléatoire utilisée pour crypter vos cookies et les envoyer au navigateur.

Cette erreur est due à cette ligne dans le code Flask-Debugtoolbar

Pour résoudre ce problème, il vous suffit de définir un SECRET_KEY dans votre fichier de configuration.

app.config['SECRET_KEY'] = "Your_secret_string"

ou si vous avez un fichier de configuration, ajoutez simplement ci-dessous la configuration:

SECRET_KEY = "Your_secret_string"
5
itmard