Some time before we started to look how to integrate PingFederate into our infrastructure.
Our initial use case is following: we are providing multy tenant access to our application and different companies might use different(their) Identity providers to access our application.
Right now flow is limited to this workflow: Mutiple Idp(s) to one SP
However in the future flow might be extended to Many-to-many relations
Currently we are using NGINX as Reverse Proxy and based on PingFed documentation it's totally difficult to understand deployment options that we have right now.
Based on diagram that was taken from this guide
It's more or less clear how this integration works for apache httpd. Mainly there is apache PingFed Agent that works with SSO flows on apache and mainly it validates "session" or initiate SSO flow.
Processing Steps
1. A user attempts to access a resource on the Apache server protected by the PingFederate
Apache Agent.
2. The user is redirected to the PingFederate server for authentication.
(If an OpenToken session already exists, the user is granted immediate access.)
3. The PingFederate server redirects the user’s browser to an IdP for authentication using either the
SAML or WS-Federation protocols. The IdP partner authenticates the user and returns a SAML
assertion.
4. PingFederate validates the assertion and creates an OpenToken for the user including any
configured attributes. PingFederate then redirects the browser, including the OpenToken, back to
the Apache Agent.
5. The Agent verifies the OpenToken and grants access to the protected resource. The User ID and
any attributes from the OpenToken are exposed to the resource as HTTP Request Headers or Apache Environment Variables.
And mainly on Step 5 apache agent passes information about User to the actual application using Request Headers or Apache Environment Variables.
Based on all info mentioned above here is 2 questions:
PingAccess is an identity-enabled access management product that applies security controls to client requests to safeguard Web applications and APIs. PingFederate is a standards-based single sign-on technology that connects Identity Providers and Service Providers via a reliable SAML connection.
Used together, PingFederate integrates with the PingID service for MFA, PingID is hosted in the cloud and is administer via the PingOne console. Differences, PingFederate offers more complete federation standards support then does PingOne. For example PingFederate supports WS-Fed and WS-Trust.
PingFederate is an enterprise federation server that enables user authentication and single sign-on. It serves as a global authentication authority that allows employees, customers and partners to securely access all the applications they need from any device.
It worth to publish final ideas on solution and our observations
And the main idea that Authentication between PingAccess and PingFed is done using OpenId connect protocol. Authentication between PingFederate and Auth provider can be done by very different ways:
However Authentication flow for application will remain the same as PingFed is hiding this complexity
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With