Identity and Authorization Providers are systems or services that manage user identities and access permissions within software applications and online platforms. These providers are crucial for digital security, ensuring that only authenticated and authorized users can access resources and perform specific actions within the system. Identity providers handle user management within the system, while authorization providers control permissions and access rights.
Webadmin supports multiple identity providers in order to manage authentication of users. Each one can function in a completely different way and has its own configuration parameters.
During the authentication mode configuration, the user can configure use a single provider or multiple ones, if the option to "Accept on first success" is chosen, the user will continue trying to log in until their authentication is valid. If the 'Reject' option is chosen, the system stops checking other identity providers as soon as authentication fails. It includes: "Accept on first success" and "Reject on first fail." By default, the option is "Accept on first success." There are several types of identity providers, including OpenIDConnection, CMD Government Authentication, Central Authentication Service (CAS), LDAP, TOTP, and WebAuthN.
Each provider uses different types of credentials, so each provider you add can have significant impact on the Logon UI. Some may ask for the traditional Username+Password, while others require external URL navigation or hardware keys to be used.
The simplest one and default provider. Its a simple User+Pass authentication against the user database. Its passwords are save as one-way hashes in the database and are not recoverable.
By default, Quidgest includes a pre-defined Identity Provider with the Application Database Identity type. This ensures that users and permissions defined in the User Management section have access to the application.
The is one of the most standard external authentication protocols. It redirects the user to an external login page. It requires application registration in that provider, with the procedures varying between providers.
If your organization does not support the token endpoint then you can leave the Token Endpoint and Secret configurations blank in WebAdmin. This is not a secure way to authenticate and the JWT send back to the application callback, directly from the provider, is vulnerable to interception and spoofing attacks.
Each user needs to associate its account name to the external Id. This means that each user needs a primary provider like QuidgestIdentityProvider to first make that registration in his user profile page.
In alternative, in WebAdmin, you can configure the UserFieldId to a field where the external provider returns an email, and preset each user with that email. Each provider may return this information in a different field.
https://<host>/auth/OpenIdConnectLogin/<id>
https://<host>/auth/OpenIdConnectRegister/<id>
<id>
is the unique id name you should configure in your provider in webadminhttps://<host>/auth/OpenIdConnectLogin/<id>
https://<host>/auth/OpenIdConnectRegister/<id>
These documented endpoints are subjected to future change, so make sure you confirm they are up to date.
The Citizen Card in Portugal uses a system called CMD (Citizen Card on Mobile Device), which allows access to public services through mobile devices in a secure and convenient way. CMD is a provider, that is, a provider of digital identification services, which facilitates the interaction of citizens with the government and other entities.
To obtain an access token for the digital identification API system in Portugal, such as the Citizen Card API or any governmental service, you typically need to follow a structured process, which involves registering as a developer and applying for API access. Here are the typical steps you might need to follow:
Only after obtaining the API accesses will you be able to configure the identity provider in the webadmin.
This provider is very similar to the OpenIdConnect but the protocol does not follow the same standards. Registration is handled by request on a case by case basis, so the procedure will depend on those communications.
You will need to gather the Client Id, the Authorization Endpoint and the Token information Endpoint. You should then configure the UserIdField you want to fetch from the Token response to match your internal users.
WebAdmin configuration: Your test environment endpoints should look something like:
This provider currently only works with Portuguese authority.
The Central Authentication Service (CAS) Identity Provider is a centralized authentication solution used by many institutions to enable a single login (SSO - Single Sign-On) to access multiple services and applications.
This provider connects to Apereo CAS protocol 3.0 to allow SSO authorization flows.
The configuration is highly dependent on version but you need to register your callback function as an authorized CAS service:
https://<host>/auth/CAS/<id>
WebAdmin configuration:
For testing its recommended to use the CAS docker image. Instructions for setup are included in the CASIdentityProvider source code.
LDAP, which stands for Lightweight Directory Access Protocol, is an open application protocol used for accessing and maintaining distributed directory services over an Internet Protocol (IP) network. LDAP operates on a client-server model, where an LDAP directory server stores all the information in a directory that can be queried and modified by clients. Clients can ask questions to the directory server (for example, searching for a user's email address, authenticating a user against the directory, or obtaining a list of group members) using the LDAP protocol.
There are two types of operations or authentication methods that can be performed:
Simple Authentication - This is the most basic authentication method available in LDAP.
WebAdmin configuration:
Refers to the execution of specific or filtered queries in the LDAP directory.
WebAdmin configuration:
TOTP stands for Time-Based One-Time Password. It is a common method of adding an extra layer of security beyond a standard username and password. TOTP generates a temporary code that changes after a set period of time, usually 30 or 60 seconds.
The second factor is the Time-based One-Time Password (TOTP) provided by an application like Google Authenticator. A 6-digit number provided by the application must be entered during login.
The setup configuration is detailed in the solution guide provided to the user when attempting to change their password.
Configuration:
WebAuthn (Web Authentication) is a web standard published by the World Wide Web Consortium (W3C) WebAuthn is a core component of the FIDO2 Project under the guidance of the FIDO Alliance. The goal of the project is to standardize an interface for authenticating users to web-based applications and services using public-key cryptography.
Already considered an authentication standard by the W3C
NOTE: Just implemented for MVC applications.