Pega SAML SSO Authentication
After a lot of
challenges faced, I was successful in implementing the SAML SSO auth using Pega
Personal Edition (V84). For this exercise, I have chosen 2 IdP’s è (1) SamlTest.id and (2) ssocircle.com initially. But I was
unsuccessful with samltest.id but the configuration/knowledge while working on
this is applied by using 2nd IdP -> ssocircle.com. Both IdP’s are
free to use and both have a provision of MetaData to use in this exercise.
Brief info about SAML and the usage of it in terms of
IdP and SP
Security Assertion Markup Language(SAML) is an open standard for
exchanging authentication and authorization data between parties, in
particular, between an identity provider and a service provider. SAML is an
XML-based markup language for security assertions.
It is like
·
A set of XML-based
protocol messages
·
A set of protocol
message bindings
·
A set of profiles
(utilizing all of the above)
Usecase:
An important use case that SAML addresses is web-browser
single sign-on (SSO). Single sign-on is relatively easy to accomplish within a
security domain (using cookies, for example) but extending SSO across security
domains is more difficult and resulted in the proliferation of
non-interoperable proprietary technologies. The SAML Web Browser SSO profile
was specified and standardized to promote interoperability.
SAML roles:
The SAML specification defines three roles: the principal
(typically a human user), the identity provider (IdP) and the service provider
(SP). In the primary use case addressed by SAML, the principal requests a
service from the service provider. The service provider requests and obtains an
authentication assertion from the identity provider. On the basis of this
assertion, the service provider can make an access control decision, that is,
it can decide whether to perform the service for the connected principal.
Below diagram gives a high level of how it works. For more info, check in google.
After getting the
above idea, I started working in Pega to work on a simple exercise to login
into Pega portal using successful authentication done. For this exercise, we need to get the metadata from the IdP (ssocircle.com) and based on that info we need to build the metadata from Pega using Authentication Service rule. In my case, I didn't use any certificate/jks file while building the metadata from Pega but it is must when we work in enterprise world. With this exercise, I am creating a model user/operator in Pega which is same as "HRUser" defined in my PE (operator). This existing operator has manager portal access and we can generate the user profile dynamically by using Data Transform option. Here are the configuration settings from Pega to be taken care before we start testing the SSO login functionality.
Below is the snapshot of working functionality after above settings done.
For the above exercise, I have used Pega V8.4 PE and this settings/working functionality(model user) might be different in V7.x. Please make sure to use the PE with V8.x and follow the above steps to make it successful.
References:
3) https://idp.ssocircle.com
5) Pega V8.4 PE





