Přeskočit obsah

Integrace aplikací se SeaCat Auth

TeskaLabs SeaCat Auth může být použit jako řešení Single Sign-On pro různé aplikace. Díky takové integraci můžete používat své Active Directory, LDAP nebo sociální přihlášení (např. Google, GitHub, Microsoft Office, ...) pro autentizaci uživatelů.

NGINX

Aplikační brána pro TeskaLabs SeaCat Auth je NGINX. NGINX izoluje veřejnou síť (Internet) od interní privátní sítě a slouží jako takzvaný "interceptní bod" pro autentizaci. Více instancí NGINX může být provozováno současně.

Prohlížeč a příslušné webové a mobilní aplikace používají Access tokens nebo Cookies pro autentizační účely.

NGINX zachycuje příchozí požadavky z veřejné sítě a ve spolupráci s TeskaLabs SeaCat Auth vyměňuje Access tokens / Cookies za ID tokens a další nakonfigurované autentizační informace. ID Token je přidán NGINX do HTTP hlavičky příchozích požadavků.

ID Token je poté interně používán mikroservisy a zdrojem autentizace a autorizace.

Architektura

Architektura autorizačního tokenu

Autorizace pomocí cookies pro ne-OAuth klienty

Seacat Auth poskytuje autorizaci založenou na cookies pro starší webové stránky a aplikace, které nepodporují OAuth 2.0. Jeho PUT /nginx/introspect/cookie koncový bod je navržen tak, aby fungoval s reverzním proxy Nginx a jeho direktivou auth_request.

Tok autorizace pomocí cookies

Tok autorizace pomocí cookies

(1) Uživatel chce získat přístup k obsahu klienta, například k webové aplikaci Kibana, která je chráněna introspekcí cookies. Seacat Auth zkoumá požadavek, aby zjistil, zda je autentizován a autorizován s platnou klientskou cookie. Pokud ano, uživateli je vrácen obsah klienta (7). Pokud ne, uživatel je veden procesem autorizace (2).

(2) Konec OAuth 2.0 autorizace kontroluje, zda je uživatel autentizován. Pokud ne, je veden procesem přihlášení (3). Pokud je autentizován, je přesměrován na vstupní bod klientské cookie (4).

(3) Seacat Auth vede uživatele procesem přihlášení, aby se vytvořila relace single sign-on a podrelace klienta (Kibana).

(4) Uživatel je přesměrován na vstupní bod cookie.

(5) Vstupní bod cookie odešle uživateli klientskou cookie, která slouží jako identifikátor nové klientské relace.

(6) Uživatel odešle autorizovaný požadavek na přístup na klientskou stránku.

(7) Server odpovídá požadovaným obsahem klienta.