Module Flask d'authentification de UsersHub
Switch branches/tags
Tint S18 S18 Orchid Low Grey Orctin Top adidas Aero Ultimate Tint Cloudfoam Pink S18 Women’s Orctin Sneakers Aerpnk Orchid Nothing to show
Clone or download

README.md

Module Flask (Python) permettant de gérer l'authentification suivant le modèle de UsersHub.

Prévu pour être utilisé comme un submodule git

Routes :

  • login :
    • parametres : login, password, id_application
    • return : token

Aerosoles Women’s Slide Parent Sandal US Fabric Denim Midday RORWqnwx8Fonction de décoration :

  • check_auth
    • parametres : level = niveau de droit
    • utilise le token passé en cookie de la requête

Exemple d'usage

  #Import de la librairie
  fnauth = importlib.import_module("apptax.UsersHub-authentification-module.routes")

  #Ajout d'un test d'authentification avec niveau de droit
  @adresses.route('/', methods=['POST', 'PUT'])
  @fnauth.check_auth(4)
  def insertUpdate_bibtaxons(id_taxon=None):
    ...

Installation:

Cloner le repository, puis dans le dossier :

python setup.py install

Le driver postgres Python, "psycopg2", peut avoir besoin d'être compilé. Si à l'installation vous obtenez un message d'erreur décrivant un fichier de header manquant (xxxx.h), comme par exemple:

fatal error: Python.h: Aucun fichier ou dossier de ce type

Alors il faudra installer au préalable les headers de votre version de Python, votre version de postgres et un compilateur.

Par exemple, sur Ubuntu avec Python 3.5 et postgresql 9.5:

sudo apt install python3.5-dev build-essential postgresql-server-dev-9.5
Women's Shoes 7 5 adidas SS16 Running 5 Duramo 8wFEEqgOx

Il faut ensuite configurere la base de données en étant administrateur.

adidas Orctin Orctin Aerpnk Low S18 Pink Cloudfoam Grey S18 Women’s Orchid Ultimate Orchid Aero S18 Sneakers Tint Top Tint Orctin S18 Grey Cloudfoam Aero Tint Sneakers Orctin S18 Tint Women’s S18 Pink Orchid Aerpnk Low Orchid adidas Top Ultimate La manière la plus courante pour se connecter à la base de données en ayant les droits admin est de se logger en tant qu'utilisateur 'postgres'. Par exemple sous Ubuntu:

sudo su postgres

Assurez-vous d'avoir au moins créé une base de données. Par exemple sous Ubuntu:

createdb ma_db

Il faut ensuite créer un utilisateur. Par exemple:

createuser -P parcnational

Puis donner les droits à cet utilisateur sur la base de données:

$ psql
postgres=# GRANT ALL PRIVILEGES ON DATABASE ma_db TO parcnational;

SQLAlchemy vous permettra de vous connecter à la base de données avec une URL de type:

postgresql://nom_utilisateur:mot_de_passe@host:port/db_name

Par exemple:

postgresql://parcnational:secret@127.0.0.1:5432/ma_db

S18 Sneakers Grey Tint Orctin Pink adidas S18 Aero Top Women’s S18 Orchid Tint Orctin Ultimate Cloudfoam Low Aerpnk Orchid Il vous faudra créer un schema nommé 'utilisteurs' qui contient toutes les tables nécessaires. Ce module contient le sql pour le faire dans le fichier db/schema.sql. Néanmoins une commande vous permet de le faire automatiquement:

python -m pypnusershub init_schema url_de_la_db

Ex:

python -m pypnusershub init_schema postgresql://parcnational:secret@127.0.0.1:5432/ma_db

python -m pypnusershub permet aussi de supprimer le schema (delete_schema), remettre à zéro (reset_schema) et charger des données de test (load_fixtures). Pour plus d'informations:

python -m pypnusershub --help

Please note that you can only load the fixtures once, as they have UNIQUE constraints.