Overview
TMS Sphinx is a Delphi framework for Identity Access Management, including authorization and authentication.
TMS Sphinx allows you to to implement Single Sign-On (SSO) for multiple applications and application types: web, native, mobile or machine-to-machine API communication. It can be used to authenticate actual users via sign-in forms and similar user interfaces as well as service-based authentication that typically involves token issuance, verification, and renewal without any user interface.
With TMS Sphinx you create your own authentication server and deploy it to the cloud services of your preference. Being a Delphi framework, you have full control on how to customize your server, using your beloved development platform and Object Pascal language.
Main features:
- Single sign-on (SSO) mechanism, allowing your users to log in once and use all applications they have been granted access to.
- Login User Interface (Login UI), a ready-to-use, configure user interface with features like:
- User login;
- New user registration;
- E-mail confirmation;
- Password reset (forgot password).
- OAuth2 compliant authorization mechanism, supporting grants: implicit, client credentials and authorization code with PKCE (Proof Key for Code Exchange).
- Access control for APIs, easily issuing access tokens for API access.
- Follows OpenID Connect specification for login workflow and identity token issuance.
- Always support latest Delphi version. Support for old versions start from Delphi 10 Seattle and up.
- Delphi client applications supported include desktop (Windows, macOS, Linux - using FMX Linux), web (using TMS Web Core) and mobile (iOS/Android).
- Use of standards (HTML, JSON, HTTP, OAuth 2, OpenID Connect) allows interoperability with client applications and servers created with any language, running on any platform, as long those standards are supported.
- Multi-language support in Login UI.
In this section:
Quickstart
A quick tutorial on how to use TMS Sphinx.
Authorizing web applications
How to authorize web client applications.
Authorizing native applications
How to authorize native client applications.
Authorizing server-to-server communication
How to authorize server-to-server applications.
Login web application
Learn more about the login web application, what does it do and how to configure and customize it.
User management
How to programatically create and update users, enable two-factor authentication, change passwords, and other user-related tasks.
Localizing UI and messages
How to localize UI and messages and translate to new languages.
Release Notes
List of releases, new features added and bugs fixed.
Breaking Changes
Information about breaking changes introduced by released.
Copyright Notice
Copyright information about this library.