C'est une prémisse d'un projet qui a été Dokcerized une fois. Dernière fois: Développement d'applications avec Docker + Python + Flask
├── api
| └── auth.api
├── requirements.txt
└── docker-compose.yaml
auth.py
from flask_httpauth import HTTPBasicAuth
from werkzeug.security import generate_password_hash, check_password_hash
import os
auth = HTTPBasicAuth()
users = {
os.getenv("BASIC_AUTH_USER"): generate_password_hash(os.getenv("BASIC_AUTH_PASSWORD"))
}
@auth.verify_password
def verify_password(username, password):
if username in users:
return check_password_hash(users.get(username), password)
return False
python
from api.auth import auth
#réduction
@route('/')
@auth.login_required
def add():
#réduction
Ajoutez @ auth.login_required
aux routes qui nécessitent une authentification de base.
docker-compose.yaml
version: '3'
services:
api:
container_name: tool-api
#réduction
environment:
BASIC_AUTH_USER: "user"
BASIC_AUTH_PASSWORD: "password"
Définissez le chemin de l'œil utilisé dans ʻauth.py` sur la variable d'environnement.
requirements.txt
#réduction
flask_httpauth
Ajoutez les modules requis.
Courir
$ docker-compose up
Recommended Posts