Skip to content

Conversation

uipathswapnil
Copy link
Collaborator

@uipathswapnil uipathswapnil commented Sep 24, 2025

Description
The SLO logout flow is currently failing due to a service provider signing certificate not being populated.
image
Historically, the setting used options.SPOptions which was only populated during startup here: https://github.com/UiPath/IdentityServer/blob/2c6b2f5348bcef6f26e3b93a3f18aff5b62c7cfb/src/Authentication.Saml2/Saml2ProviderService.cs#L153

This initially loaded our static certificate, then our token signing certificates, and after this change, there are no certificates configured at the host level in cloud. Before that change, the SLO flow worked because we used the host level certificates to sign the response.

This PR modifies the logout flow to use the service certificates that are specific to the identity provider (we provide customers the option to choose which certificate they would like us to use and fallback to our token signing certificate if they dont provide any).

Testing
Unit tests are passing: image

When debugging locally, there is an unrelated bug in our local development environment where the logout is failing. However, I was able to see the logout call being triggered by this line:

await httpContext.SignOutAsync(signOutScheme ?? signInScheme);

Additionally, I have uploaded a custom version of my nuget package here: https://uipath.visualstudio.com/Identity/_artifacts/feed/nuget-packages/NuGet/UiPath.Swapnil.Sustainsys.Saml2.AspNetCore2/overview/1.0.11.1. I'll use this version to test in an ETE environment before merging. After merging I'll generate a new version and update the version in identity like the following: https://github.com/UiPath/IdentityServer/pull/10739


For future reference, I used the following commands after changing the project settings

  1. Make sure CsProj has this section
<PropertyGroup>
  <PackageId>MyLibrary</PackageId>
  <Version>1.0.0</Version>
  <Authors>YourName</Authors>
  <Company>YourCompany</Company>
  <Description>Short description of your package</Description>
</PropertyGroup>
  1. Navigate to the project folder and run dotnet pack --configuration Release. This will create the nupkg file in the bin/Release folder.

  2. Download nuget.exe here and run
    nuget.exe push UiPath.Swapnil.Sustainsys.Saml2.AspNetCore2.1.0.11.1.nupkg -Source nuget-packages -ApiKey VSTS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants