[PYTHON] Certification Flask Basic

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

organisation des fichiers

├── api
|   └── auth.api
├── requirements.txt
└── docker-compose.yaml

Ajout de la fonction d'authentification de base

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.

réparer le docker

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

Certification Flask Basic
Mémo de base Flask
Authentification BASIC avec bouteille Python
ballon
Attaque de dictionnaire sur l'authentification de base
ballon
Numpy [basique]
Premier flacon
Mémo du flacon
Configuration de l'authentification de base à l'aide de Python @Lambda
Commandes de base
Le jour où la certification de base a été ajoutée au service opéré par flask
Obtenez une authentification de base avec CloudFront Lambda @ Edge avec Python 3.8
Essayez l'authentification OAuth Slack avec Flask (API Slack V2)
Envoyer HTTP avec l'en-tête d'authentification de base en Python
Flux pour terminer l'authentification Slack avec Flask (Python)