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