suppr printenv
This commit is contained in:
@@ -10,14 +10,7 @@ https://stackoverflow.com/questions/75840827/how-to-properly-generate-a-document
|
|||||||
https://medium.com/@DanKaranja/building-api-documentation-in-flask-with-swagger-a-step-by-step-guide-59a453509e2f
|
https://medium.com/@DanKaranja/building-api-documentation-in-flask-with-swagger-a-step-by-step-guide-59a453509e2f
|
||||||
https://apidog.com/blog/what-is-flasgger/
|
https://apidog.com/blog/what-is-flasgger/
|
||||||
|
|
||||||
autre piste: abandonnée pour l'instant. trop jeune ?
|
|
||||||
Documentation (OpenApi remplace swagger)
|
|
||||||
https://pypi.org/project/flask-openapi3/
|
|
||||||
|
|
||||||
autre piste ? https://github.com/fastapi/fastapi (mais y a du node :( )
|
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
* sécurisation de l'API : un token ? otp ?
|
|
||||||
* sécurité: comment différencier les rôles admin (tout faire) et kaznaute (changer uniquement ses coordonnées, relancer son site propre web, ...)
|
* sécurité: comment différencier les rôles admin (tout faire) et kaznaute (changer uniquement ses coordonnées, relancer son site propre web, ...)
|
||||||
* pourquoi pas une seule classe pour plusieurs api ? (par exemple LDAP, pas mal de factorisation possible)
|
* pourquoi pas une seule classe pour plusieurs api ? (par exemple LDAP, pas mal de factorisation possible)
|
||||||
* pourquoi pas de donnée dans le body ? (au lieu des variables dans l'url). par ex, pour le message du mail.
|
* pourquoi pas de donnée dans le body ? (au lieu des variables dans l'url). par ex, pour le message du mail.
|
||||||
|
|||||||
@@ -114,27 +114,13 @@ def authenticate():
|
|||||||
|
|
||||||
@app.before_request
|
@app.before_request
|
||||||
def require_basic_auth():
|
def require_basic_auth():
|
||||||
if request.path.startswith('/apidocs') or request.path.startswith('/print_env'):
|
if request.path.startswith('/apidocs'):
|
||||||
#if request.path.startswith('/'):
|
#if request.path.startswith('/'):
|
||||||
auth = request.authorization
|
auth = request.authorization
|
||||||
if not auth or not check_auth(auth.username, auth.password):
|
if not auth or not check_auth(auth.username, auth.password):
|
||||||
return authenticate()
|
return authenticate()
|
||||||
|
|
||||||
|
|
||||||
#*************************************************
|
|
||||||
#DANGER: ne jamais mettre print_env en PROD
|
|
||||||
@app.route('/print_env')
|
|
||||||
def print_environment():
|
|
||||||
# Crée une chaîne de caractères pour stocker les variables d'environnement
|
|
||||||
env_string = ""
|
|
||||||
|
|
||||||
# Itère sur les variables d'environnement et les ajoute à la chaîne de caractères
|
|
||||||
for key, value in os.environ.items():
|
|
||||||
env_string += f"{key}: {value}\n" + "<br>"
|
|
||||||
|
|
||||||
# Retourne la chaîne de caractères contenant les variables d'environnement
|
|
||||||
return env_string
|
|
||||||
|
|
||||||
#*************************************************
|
#*************************************************
|
||||||
#***** DEBUT Quelques fonctions utiles ***********
|
#***** DEBUT Quelques fonctions utiles ***********
|
||||||
#*************************************************
|
#*************************************************
|
||||||
|
|||||||
Reference in New Issue
Block a user