SmartAuth

Traductions de cette page:

SmartAuth

Comme toutes les applications sur smartphone vont se partager la partie authentification c'est un module à part entière.

L'objectif principal est de pouvoir fournir une clé d'api différente pour un même utilisateur selon l'application utilisée, voir même selon le couple application/périphérique utilisé.

Ainsi sa clé d'api ne sera pas la même sur son téléphone perso, téléphone pro, tablette etc.

En cas de vol d'un périphérique il sera alors possible de désactiver / supprimer la clé “perdue” sans aucun impact pour les autres qui garderont ainsi leur cycle de vie.

Visuellement il n'apporte qu'un seul tableau de bord dans les outils : la liste des jetons actifs que vous pouvez choisir de supprimer si besoin.

Pour les développeurs

// ************************  SmartAuth STUFF ************************ //

dol_include_once('/smartauth/autoload.php');

// get informations about current module
dol_include_once('/smartlivraisons/core/modules/modSmartLivraisons.class.php');
$tmpmodule = new \modSmartLivraisons($db);

//very important to smartAuth stack
$smartAuthAppID = $tmpmodule->numero;
$smartAuthAppKey = getDolGlobalString('SMARTLIVRAISONS_JWT_KEY', $_SERVER['REMOTE_ADDR']);

Et ensuite vous pouvez créer toutes les routes dédiées pour votre api

use SmartAuth\Api\AuthController;
use SmartAuth\Api\RouteController as Route;

use SmartLivraisons\Api\HomeController;

//unprotected
Route::get('login', AuthController::class, 'index');
Route::post('login', AuthController::class, 'login');
//protected
Route::post('logout', AuthController::class, 'logout', true);

// ********** your SmartLivraisons project start here ********** //
Route::get('home', HomeController::class, 'index', true);

Le contenu de SMARTLIVRAISONS_JWT_KEY doit être créé lors de l'installation de votre module et sera utilisée utilisée pour saler le chiffrement spécifique pour votre application (donc un bidule de préférence aléatoire à l'installation mais “définitif” ensuite sous peine de voir toutes les clés inutilisables).

projet_smartauth/accueil.txt · Dernière modification : 2025/02/19 13:27 de supadmin
CC Attribution-Share Alike 4.0 International Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC Attribution-Share Alike 4.0 International