Locked History Actions

API

Introduction

Nous souhaitons, depuis une application externe à Vulture.

  1. ajouter un compte sur Vulture
  2. modifier le mot de passe Vulture
  3. ajouter un profil sur une application
  4. modifier le mot de passe d'un profil applicatif

Problématique

  • D'une part la base SQLite utilisée n'est pas accessible depuis l'exterieur (c'est un fichier).
  • D'autre part les informations sensibles des profils applicatifs stockés par Vulture sont chiffrées avec le mot de passe de l'utilisateur Vulture concerné. La méthode de chiffrement utilise des modules Perl accessibles depuis Vulture.

Pré-requis

L'application externe peut :

  • exécuter des requêtes SQL sur une base postgres
  • executer des requêtes HTTP de type POST

Configuration Vulture

  1. Le fichier de configuration Apache rpc.conf (téléchargeable ici) permet d'utiliser à distance les fonctionnalités de chiffrement des profils

  2. Vulture permet d'utiliser une base Postgresql comme base d'authentification sur le reverse proxy lui même.

/!\ Attention à bien verrouiller l'accès à l'application lancée par le fichier rpc.conf. En effet cette application permet de modifier les profils sans être authentifié.


Nous considerons pour le reste de la documentation que l'on a pour Vulture une authentification SQL sur base postgres configuré de la manière suivante :



API

Ajout d'un utilisateur Vulture

INSERT INTO vulture_user (login, password) VALUES ('user1', md5('password1'))

/!\ Penser à inserer les profils pour chaque application.

Modification d'un utilisateur Vulture

UPDATE  vulture_user SET password=md5('password2') WHERE login='user1'

/!\ Penser à rechiffrer les profils avec le nouveau mot de passe

Rechiffrement des profils avec le nouveau mot de passe Vulture

GET http://localhost:9191/?id_app=1&vulture_login=admin&vulture_password=toto&vulture_pin=admin
  • id_app : id de l'application (les profils de toutes les applications utilisant la même méthode d'authentification que l'application d'id_app seront rechiffrés).
  • vulture_login : login de l'utilisateur
  • vulture_password : nouveau mot de passe sur Vulture, permettant de chiffrer les profils.
  • vulture_pin : ancien mot de passe, permettant de déchiffrer les profils

Ajout/modification d'un profil applicatif

Cette commande est à effectuer pour chaque champ du profil SSO Forward.

GET http://localhost:9191/?vulture_app=1&vulture_login=admin&vulture_password=admin&field_name=login&value=admin_app
GET http://localhost:9191/?vulture_app=1&vulture_login=admin&vulture_password=admin&field_name=password&value=password_app
  • vulture_app : id de l'application utilisant ce profil
  • vulture_login : nom de l'utilisateur
  • vulture_password : mot de passe de l'utilisateur
  • field_name : nom du champ DESCRIPTION de la variable SSO Forward (et non pas le nom de la variable SSO Forward)
  • value : valeur à inserer/mettre à jour (si le champ est de type password il sera automatiquement chiffré avec vulture_password).