Apply authentication methods to ensure that only users and systems with a verified identity can access your applications, web pages, APIs, and data. Authentication includes verifying user credentials, Pega Platform requests to external services, and external service requests to Pega Platform. You can also authenticate by using an external identity provider.
In a browser, a user logs in to a Pega Platform application, or a developer logs in to Dev Studio to make changes to an application. Authentication services verify these user credentials.
For more information, see Authentication services.
The following table lists the protocols for user logins that Pega Platform supports. For more
information, see Web single sign-on (SSO)
with SAML 2.0. For
example, an unauthenticated user can add items to a shopping
cart, and enter credentials when they check out.
Authentication type Protocol SAML 2.0 An external identity provider that supports the SAML 2.0
protocol, such as Microsoft Active Directory. OpenID Connect An external identity provider that supports the OpenID
Connect (OIDC) protocol. Basic Credentials A user ID and password that are stored in the Pega Platform database or in another internal or
external data source. Token Credentials A token that is validated by an external identity provider or
by the OAuth 2.0 authorization layer in Pega Platform (often used in offline mobile
applications). Anonymous Supports activity by guest users, who are prompted to
authenticate themselves partway through a session. Custom Uses none of the above meets your requirements or meets your
use case, you can write your own logic to challenge users for
credentials and to validate the credentials. For example, using
a Lightweight Directory Access Protocol (LDAP)-compliant
directory server. Kerberos A computer-network authentication protocol that is based on
tickets that can be securely presented by a client or a service
on the client's behalf to a server for access to
For more information, see Web single sign-on (SSO) with SAML 2.0.
For example, an unauthenticated user can add items to a shopping cart, and enter credentials when they check out.
You can configure a custom authentication service to use information that is stored within the identity provider to determine the user roles and privileges in Pega Platform.
Make your application more secure by using simple selections in the authentication service rule form to implement policies such as multi-factor authentication. For example, each time a user logs in, the application can send an authentication code to the user by email. To log in, the user enters that code in addition to a password.
You can use authentication services (including SAML 2.0, OpenID Connect, or token credentials) to implement single sign-on (SSO) solutions. SSO solutions limit repetitive requests for credentials when users access a variety of systems or applications.
For complete control over the login process, you can define custom authentication services.
Pega Platform connectors Requests to external services from Pega Platform connectors
To invoke an external REST service to get information from an external system or application, a Pega Platform application must authenticate to that service. This type of authentication uses an authentication profile and OAuth provider data instances. The supported forms of authentication include basic credentials, NT LAN Manager credentials (NTLM), and OAuth 2.0.
For more information, see:
- Authentication profiles
- Setting up an OAuth 2.0 provider
External requests for execution to Pega Platform services
An external system or application can invoke a REST service that is defined in Pega Platform or within a Pega Platform application to get case information. This type of authentication uses a service type and service package instances. Supported forms of authentication include basic credentials, OAuth 2.0, and custom authentication.
For more information, see:
After the initial authentication, the session management features in Pega Platform ensure that requests for access to the system and its data only come from authenticated requestors.
In Pega Platform, you can define various policies to control session time-outs, automatically terminate sessions, deactivate operators after successive days of inactivity, run cross-origin resource sharing (CORS), and detect cross-site request forgery (CSRF).
Authentication process flow
In Pega Platform, during a user-interactive login, the
authentication service rules perform the following functions, in order:
- Pega Platform determines if this is the initial user request.
Pega Platform initializes an unauthenticated session.
- The application context for the session in this state is provided by the access group specified by the browser requestor type:
- Executes the pre-authentication activity, if any.
- Prompts for and verifies operator credentials.
- If a Basic authentication service, operator credentials are always promoted and verified.
- If a SSO authentication service, the external identity provider may prompt for credentials if needed.
- If a Custom authentication service, the behavior depends on authentication activity logic, with the typical response being a login page.
- Verifies operator identity in the database. If provisioning of new operators is disabled and the operator does not exist, authentication fails.
- If this is the operator’s first login and provisioning is enabled, creates a new operator instance based on a model operator or through a data transform.
- Maps information from the identity provider or from data pages to the clipboard.
- Persists the operator information from the clipboard to the operator record in the database.
- Invokes client-selected security policies, such as multi-factor authentication (MFA), CAPTCHA, and Attestation.
- Session is marked as authenticated.
- Application context for the session is established based on the requested application or the application specified in the default access group.
- Executes the post-authentication activity, if any.
Note: The session established in step 1 has a short time-out period, which is set to two minutes. If the session sits idle in excess of this time period at any point during login, then the session will be destroyed. This is the only feature within Pega Platform that attempts to mitigate DOS attacks.
- Creating an authentication service
To override or extend the default authentication process, create an authentication service. By creating an authentication service, you implement more specialized authentication requirements than the default, for example, to use pre-authentication and post-authentication activities.
- Authenticating requests in services
You can configure Pega Platform to access external systems to retrieve data and perform application processing. Similarly, you can allow external systems to access services in Pega Platform. By communicating with external systems, you can make use of functionality that has already been configured, and avoid the need to duplicate the same functions in multiple applications.
- Using JNDI to specify an LDAP server when using an authentication service
You can set up an authentication service to override or extend the default Pega Platform™ authentication process. You can enter a Java Naming and Directory Interface (JNDI) entry, which represents a directory located on the LDAP server. Using JNDI enables you relocate servers without having to reconfigure the application.
- Authentication time-out
When users are inactive for a certain period of time, Pega Platform requires users to reauthenticate by entering their login credentials. The browser session cannot resume until the login and password are accepted. Requiring reauthentication helps prevent a malicious or unauthorized user from hijacking the browser session. However, if reauthentication fails or is canceled, some or all of the data on the screen might continue to be displayed.
- Authentication login failures
When a user fails to authenticate with proper credentials, safeguards ensure that repeated failed attempts to authenticate have repercussions to mitigate automated attempts to gain unauthorized access to the system.
- Security tab of the Application Definition
Use this tab to define security settings in your application, map authentication services, and enable content, mashups, and digital messaging security.
- Web Service Security profile
Use a Web Service Security profile (WS-Security) to determine how to authenticate a web service message.
Previous topic Implementing security guidelines for test environments Next topic Authentication services