To obtain the signing certificate:
- Open the SAML metadata descriptor in your browser.
- https://ca.auth.kzero.com/realms/<TENANT_NAME>/protocol/saml/descriptor
- Locate the <ds:X509Certificate> tag.
- Open a text editor and paste:
-----BEGIN CERTIFICATE-----
[Paste the certificate from the XML]
-----END CERTIFICATE-----
- Save it as a .pem or .txt file if required by your SP.
All elements in the URLs (like <TENANT_NAME>) are case sensitive. Match your configuration exactly.
What Each Field Means
IdP Entity ID
- Unique identifier of Multi-Pass as IdP.
- Used by the SP to verify the source of the SAML assertions.
- Also called: IdP Issuer URI, Issuer ID, SAML Issuer URL, Identity Provider Identifier, IDP Entity ID, Identity Provider Issuer
Sign-In URL
- Where the user is redirected to authenticate.
- Also called: IDP SSO URL, IDP Sign-in URL, ID Provider Login URL, IDP ACS URL, Sign-in Page URL, Sign in Url, SAML Login Endpoint, SAML Sign-in URL, SAML SSO URL, SAML 2.0 URL, SSO Login URL, SSO Endpoint, Sign-in Endpoint, Login URL, Sign on URL, Identity Provider single sign-on URL, Remote Login URL
Sign-Out URL
- Where the user is sent to terminate their session.
- Also called: IdP Single Sign-On URL, Sign-out Endpoint, Sign out Url, IDP Single logout service URL, ID Provider Single Logout URL
Change Password URL
- A redirect path used for password update/reset.
Multi-Pass is passwordless, but some SPs require a placeholder.
Signing Certificate
- Verifies the integrity of the SAML assertion.
- Signature method: RSA-SHA256
- Digest method: SHA256
- Also called : x509 Certificate, Signing Certificate, Key x509 Certificate, Certificate Fingerprint (requires only the footprint), SAML Fingerprint, IdP Signature Certificate
Multi-Pass offers two configuration interfaces:
- The Legacy Advanced Console
- The New Recommended Dashboard interface
You will need to collect the following from your Service Provider:
| SP Detail | Meaning |
|---|
| Entity ID | Unique identifier of the Service Provider (e.g., Audience URI) |
| ACS URL | Endpoint where SAML responses are posted (Assertion Consumer Service URL) |
| Relay State (optional) | Destination URL after successful login (e.g., user dashboard)
|
When a user authenticates successfully, Multi-Pass sends a SAML response to the Service Provider (SP).
This SAML response is an XML document that follows the SAML 2.0 protocol standards.
Key Sections in a SAML Response :
saml:Subject
- Identifies the user that the SAML assertion refers to.
- Critical for the SP to know who is authenticated.
saml:NameID / The user's unique identifier (e.g., username or email address). The format can vary: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress or others.
saml:AttributeStatement
- Provides additional metadata about the user.
- Typically contains:
- Email address
- User roles
- Department
- Any other custom attributes needed by the SP for authorization or user personalization.
dsig:Signature
- A digital signature included in the assertion or parts of the SAML message.
- Ensures:
- Integrity – Confirms that the assertion wasn't modified during transit.
- Authentication – Confirms the message comes from a trusted Identity Provider (IdP).
- Non-repudiation – Prevents the sender from denying the message if the private key is secure.
Example: SAML Response Template:
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
Destination="SP ACS URL">
<saml:Issuer>https://ca.auth.kzero.com/realms/TENANT_ID</saml:Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
</samlp:Status>
<saml:Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
<saml:Issuer>https://ca.auth.kzero.com/realms/kzero</saml:Issuer>
<dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
</dsig:Signature>
<saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">
email@email.com
</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData Recipient="SP ACS URL" />
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Conditions>
...
</saml:Conditions>
<saml:AuthnStatement>
<saml:AuthnContext>
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
<saml:AttributeStatement>
<saml:Attribute Name="Role"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
<saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">
role-name
</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
</saml:Assertion>
</samlp:Response>
Destination in the response must match the ACS URL configured in the SP.
The Signature ensures that the message has not been tampered with and is issued by the expected Identity Provider.
Attributes inside AttributeStatement must match what the SP expects for successful authorization.