Microservice pentru SSO si ACL in laravel sau lumen

Am doua aplicatii facute in versiuni diferite de Laravel (una in 4.2 si una in 5.7) vreau sa fac un microservice pentru SSO si ACL prin care sa pot avea managementul utilizatoriilor intr-un singur loc dar in acelasi timp sa am ACL diferit pentru fiecare din ele. Adica la app. 1 sa am user A cu drepturi de citire pe comanda iar la app. 2 sa am acelasi user A cu drepturi de scriere si citire pe rapoarte si comanda.

M-am uitat la diferite solutii precum gluu.org, http://anvil.io/, orchestraplatform.com dar nimic nu pare sa fie aproape de ce am nevoie.

Laravel passport are un server de Oauth 2 insa nu imi rezolva partea de SSO si nu stiu cum rezolv partea de ACL.
Alta solutie este https://auth0.com/ (costa dar pare ok) insa nici aceasta nu are ACL sau nu vad cum as putea implementa asa ceva din ea.

orchestraplatform pare sa fie de fapt cel mai aproape de ce imi trebuie dar nu mai par sa faca dezvoltare pe el din 2017.

Aveti ceva idei de ce pot face fara a ma apuca acum sa dezvolt un sistem de la zero?

Cum vad ca nimeni nu a raspuns imi raspund singur la intrebare. Am gasit o solutie opensource care pare sa corespunda cu ceea ce avem noi nevoie: fusionauth.io

Inca suntem in test si daca functioneaza cum ne asteptam revin cu un update.

3 Likes

Cu Auth0 poti face achieve.
Creezi cate un Application si cate un API.
Pentru fiecare API poti defini diferite permisiuni care sa fie assignate userului.

Auth0 a fost eliminat din prima pentru ca este in cloud. Noua ne trebuie o solutie care sa fie instalata pe serverele noastre

Pentru ACL poți să arunci o privire și peste Casbin. Nu te ajută pe partea de autentifcare dar este foarte flexibil cand vine vorba de autorizare/control access (și foarte rapid).

Chiar interesant vad ca au si o librarie pentru laravel: https://github.com/php-casbin/laravel-authz

Poate te ajuta https://www.apereo.org/projects/cas