76
Vývoj / Re:PHP - mikroslužby - autentizace
« kdy: 01. 08. 2021, 15:16:32 »
Cílem je opustit kompletně php_session().
Chci co nejsnadnější škálování.
Možná Docker/Kubernetes, ale to mi přijde jako zbytečná další abstrakce (a spotřeba HW + další údržba). Automatizací posílám "Git release" na příslušné stroje. Stroje mám škálované pomocí skriptů. Do 10 minut je server vzhůru.
Replikace relací je další zbytečná komplikace.
Je vyloučeno, aby klient při každém dotazu posílal znovu jméno a heslo uložené v nějakém objektu.
Nechci ani cache autentizace a autorizace na koncových bodech api.
Co nejméně volání do DB,AD,Kafky,AMQ, nebo Redisu.
Žádné sdílené disky mezi servery. Výjimku mají pouze CDN segmenty.
Funkci si chystám tak aby byla schopná dotazování AD, protože jeden zdroj pravdy už mám. Jako druhý autentizační poskytovatel bude MYSQL databáze a poslední CURL volání do extérního systému.
Autentizační server jako jediný obsahuje privátní klíč, kterým šifruje data uvnitř COOKIE nebo JWT.
Každý koncový bod API pak dešifruje data pomocí veřejné části klíče. Pokud se klient pokusí data podvrhnout je vyloučeno data podepsat důvěryhodným klíčem (uložen na HSM), který má pouze autentizační server.
Autorita je chráněná. Jen tak si někdo certifikát nepodepíše...
Programuju příležitostně a nevěděl jsem jestli není moje teorie zastaralá.
Děkuji panu Jiráskovi za jeho trpělivost a vysvětlení.
Chci co nejsnadnější škálování.
Možná Docker/Kubernetes, ale to mi přijde jako zbytečná další abstrakce (a spotřeba HW + další údržba). Automatizací posílám "Git release" na příslušné stroje. Stroje mám škálované pomocí skriptů. Do 10 minut je server vzhůru.
Replikace relací je další zbytečná komplikace.
Je vyloučeno, aby klient při každém dotazu posílal znovu jméno a heslo uložené v nějakém objektu.
Nechci ani cache autentizace a autorizace na koncových bodech api.
Co nejméně volání do DB,AD,Kafky,AMQ, nebo Redisu.
Žádné sdílené disky mezi servery. Výjimku mají pouze CDN segmenty.
Funkci si chystám tak aby byla schopná dotazování AD, protože jeden zdroj pravdy už mám. Jako druhý autentizační poskytovatel bude MYSQL databáze a poslední CURL volání do extérního systému.
Autentizační server jako jediný obsahuje privátní klíč, kterým šifruje data uvnitř COOKIE nebo JWT.
Každý koncový bod API pak dešifruje data pomocí veřejné části klíče. Pokud se klient pokusí data podvrhnout je vyloučeno data podepsat důvěryhodným klíčem (uložen na HSM), který má pouze autentizační server.
Autorita je chráněná. Jen tak si někdo certifikát nepodepíše...
Programuju příležitostně a nevěděl jsem jestli není moje teorie zastaralá.
Děkuji panu Jiráskovi za jeho trpělivost a vysvětlení.