L'esperienza che si intende descrivere nasce da specifiche richieste di un operatore commerciale che vende i suo prodotti attraverso più canali di ecommerce rivolti ad aree geografiche distinte.
L'esigenza da soddisfare è stata quella di creare un unico aggregatore di account utente (clienti) con un cruscotto in cui l'utente potesse effettuare la registrazione e aggiornare i dati del proprio profilo comprese le credenziali di accesso.
Il cruscotto è stato realizzato in Laravel e l'autenticazione al cruscotto stesso e ai diversi canali di ecommerce (basati su WooCommerce e Shopify) è stata governata da un identity provider in SSO basato su SimpleSAMLphp.
L'identity provider necessita di avere un backend di dati utente per convalidare la password e per costruire un payload con i dati del profilo utente da condividere con i service provider federati (siti di ecommerce), è stato quindi sviluppato un modulo di SimpleSAMLphp che interroga il cruscotto Laravel attraverso una chiamata json ad una rotta api per convalidare la password fornita dall'utente sul modulo di login e per riceve in risposta i dati del profilo.
Lo stesso cruscotto Laravel è stato a sua volta federato come service provider per un accesso in SSO grazie al package aacotroneo/laravel-saml2.
Particolare attenzione è stata fornita alla protezione della rotta api esposta da Laravel ad uso e consumo di SimpleSAMLphp definendo un meccanismo di autenticazione della chiamata e modificando il rate limit impostato di default da Laravel sulle rotte di tipo api.

L'architettura esposta durante il Talk è dettagliata in ogni passo al link:
https://github.com/carlotafuro/talk-laravelday-2022

Comments

Comments are closed.

Grazie Carlo, è stato uno dei Talk più chiari, anche per chi non ha una seniority alta

Riccardo at 16:01 on 17 Nov 2022

Peccato...

Giovanni at 16:11 on 17 Nov 2022

Esposizione molto chiara e argomento interessantissimo!

Marco at 21:48 on 17 Nov 2022

Talk chiaro ed interessante! Grazie carlo!

Mario Donà at 08:55 on 18 Nov 2022

Esposizione molto chiara e argomento davvero molto utile.
Grazie.

Molto utile mostrare le potenzialità di Laravel in tandem con altre tecnologie Php.
Bravo!!!

Super utile