TMS Sphinx – Správa identit, autentizace a autorizace „na klíč“!

Společnost TMS Software oznámila dostupnost nové sady komponent TMS Sphinx, která rozšiřuje její stávající nabídku BIZ TOOLS (je součástí balíku TMS BIZ). Do této oblasti spadá například aplikační server TMS XDATA, ORM aplikační rámec TMS AURELIUS nebo jednoduchý nástroj pro datové modelování TMS DATA MODELER.

TMS Sphinx je komplexní řešení pro přihlašování uživatelů a správu identit. Dávno již nestačí prosté zadání uživatelského jména  a hesla. Stále více aplikací potřebuje aparát k ověření identity uživatele a autorizaci. S TMS Sphinx můžete integrovat všechny typy serverů s podporou standardů OAuth 2 nebo OpenID Connect. Slyšeli jste o Auth0 nebo Microsoft Identity Serveru (nyní Duende Identity Server)? To je Sphinx, ale pro Delphi! A s úplným zdrojovým kódem a pod vaší plnou kontrolou!

TMS Sphinx podporuje mechanismus jednotného přihlášení (SSO), který umožňuje vašim uživatelům přihlásit se jednou a používat všechny aplikace, ke kterým jim byl udělen přístup. Využijte hotové, plně přizpůsobitelné uživatelské rozhraní, které poskytuje funkce jako:

  • Uživatelské přihlášení;
  • Registrace nového uživatele;
  • Potvrzení e-mailem;
  • Obnovení hesla (zapomenuté heslo).
  • Autorizační mechanismus plně kompatibilní s OAuth2
  • Řízení přístupu pro API, snadné vydávání přístupových tokenů pro přístup k API
  • Dodržuje specifikaci OpenID Connect pro pracovní postup přihlašování a vydávání tokenů identity
  • Použití standardů (HTML, JSON, HTTP, OAuth 2, OpenID Connect) umožňuje interoperabilitu s klientskými aplikacemi a servery vytvořenými v libovolném jazyce, běžícími na jakékoli platformě
  • Podpora více jazyků

Komponenty jsou pravidelně aktualizovány pro podporu nejnovějších verzí Delphi. FMX Sphinx ale můžete použít i se staršími verzemi počínaje Delphi 10 Seattle. Mezi podporované cílové platformy Delphi patří desktop (Windows, macOS, Linux – pomocí FMX Linux), web (pomocí TMS Web Core) a mobilní aplikace (iOS/Android).

Vytvoření serveru Sphinx je otázkou několika minut. Server je založen na našich technologiích TMS Sparkle a TMS XData, takže jediné, co je třeba udělat, je přidat na formulář několik nevizuálních komponent, nakonfigurovat jejich vlastnosti a máte hotovo:

Sestavení Sphinx serveru

TMS Sphinx využívá rovněž ORM TMS Aurelius, takže pro Vás vytvoří všechny databázové tabulky potřebné k uložení informací o uživatelích, jejich přihlašovací údaje a tokeny. Databázový server může být PostgreSQL, SQL Server, Firebird, MySQL, nebo jiná z Vašich oblíbených databází.

Nyní, kdy máme hotový server, je možné přikročit k jeho použití v klientských aplikacích. Stačí na formulář přidat přihlašovací komponentu a za pomoci URL ji nasměrovat na Sphinx server:

Napojení klientské aplikace na Sphinx server

Od této chvíle bude aplikace vyžadovat od uživatelů přihlášení:

Příklad přihlašovacího dialogu

Pokud vaše aplikace komunikuje s chráněným rozhraním API, server jednotného přihlášení vám po přihlášení uživatele poskytne přístupový token i pro přístup k rozhraní API. TMS Sphinx má samozřejmě spoustu funkcí, počínaje samotným přihlašovacím mechanismem. Pokud chcete, můžete nechat své koncové uživatele, aby se sami zaregistrovali v aplikaci, vytvořením a účtem, aniž byste je museli ručně přidávat do databáze. Můžete požádat uživatele, aby potvrdili své e-mailové adresy (což je užitečné, pokud například poskytujete veřejnou přihlašovací stránku). V případě potřeby jsou samozřejmě k dispozici také funkce jako „zapomněl jsem heslo“:

Samoobslužné obnovení zapomenutého hesla

TMS Sphinx je součástí balíčku TMS BIZ.