diff --git a/identity-server/src/IdentityServer/Extensions/HttpContextExtensions.cs b/identity-server/src/IdentityServer/Extensions/HttpContextExtensions.cs
index c7ff019b7..3c6df4833 100644
--- a/identity-server/src/IdentityServer/Extensions/HttpContextExtensions.cs
+++ b/identity-server/src/IdentityServer/Extensions/HttpContextExtensions.cs
@@ -66,7 +66,7 @@ public static class HttpContextExtensions
if (currentSubId == logoutMessage.SubjectId)
{
clientIds = clientIds.Union(await userSession.GetClientListAsync(context.RequestAborted));
- var currentSamlSessions = await userSession.GetSamlSessionListAsync();
+ var currentSamlSessions = await userSession.GetSamlSessionListAsync(context.RequestAborted);
samlSessions = samlSessions.Union(currentSamlSessions).ToList();
}
@@ -86,7 +86,7 @@ public static class HttpContextExtensions
{
// see if current user has any clients they need to signout of
var clientIds = await userSession.GetClientListAsync(context.RequestAborted);
- var samlSessions = await userSession.GetSamlSessionListAsync();
+ var samlSessions = await userSession.GetSamlSessionListAsync(context.RequestAborted);
var samlEntityIds = samlSessions.Select(s => s.EntityId);
if ((clientIds.Any() && await AnyClientHasFrontChannelLogout(clientIds)) ||
diff --git a/identity-server/src/IdentityServer/Services/Default/DefaultIdentityServerInteractionService.cs b/identity-server/src/IdentityServer/Services/Default/DefaultIdentityServerInteractionService.cs
index ded94b020..31bca16ea 100644
--- a/identity-server/src/IdentityServer/Services/Default/DefaultIdentityServerInteractionService.cs
+++ b/identity-server/src/IdentityServer/Services/Default/DefaultIdentityServerInteractionService.cs
@@ -82,7 +82,7 @@ internal class DefaultIdentityServerInteractionService : IIdentityServerInteract
if (user != null)
{
var clientIds = await _userSession.GetClientListAsync(ct);
- var samlSessions = await _userSession.GetSamlSessionListAsync();
+ var samlSessions = await _userSession.GetSamlSessionListAsync(ct);
if (clientIds.Any() || samlSessions.Any())
{
var sid = await _userSession.GetSessionIdAsync(ct);
diff --git a/identity-server/src/IdentityServer/Services/IUserSession.cs b/identity-server/src/IdentityServer/Services/IUserSession.cs
index e201f0b23..c785dc836 100644
--- a/identity-server/src/IdentityServer/Services/IUserSession.cs
+++ b/identity-server/src/IdentityServer/Services/IUserSession.cs
@@ -68,21 +68,24 @@ public interface IUserSession
/// Adds a SAML SP session to the user's session.
///
/// The SAML session data.
+ /// The cancellation token.
///
/// Session data is stored in AuthenticationProperties. For deployments with many SAML service providers,
/// server-side sessions should be enabled to avoid cookie size limitations.
/// See for details.
///
- Task AddSamlSessionAsync(SamlSpSessionData session);
+ Task AddSamlSessionAsync(SamlSpSessionData session, Ct ct);
///
/// Gets the list of SAML SP sessions for the user's session.
///
- Task> GetSamlSessionListAsync();
+ /// The cancellation token.
+ Task> GetSamlSessionListAsync(Ct ct);
///
/// Removes a SAML SP session by EntityId.
///
/// The SP's entity ID.
- Task RemoveSamlSessionAsync(string entityId);
+ /// The cancellation token.
+ Task RemoveSamlSessionAsync(string entityId, Ct ct);
}
diff --git a/identity-server/src/IdentityServer/Validation/Default/EndSessionRequestValidator.cs b/identity-server/src/IdentityServer/Validation/Default/EndSessionRequestValidator.cs
index b21e13389..2cc96b166 100644
--- a/identity-server/src/IdentityServer/Validation/Default/EndSessionRequestValidator.cs
+++ b/identity-server/src/IdentityServer/Validation/Default/EndSessionRequestValidator.cs
@@ -150,7 +150,7 @@ public class EndSessionRequestValidator : IEndSessionRequestValidator
validatedRequest.SessionId = await UserSession.GetSessionIdAsync(ct);
validatedRequest.ClientIds = await UserSession.GetClientListAsync(ct);
- var samlSessions = await UserSession.GetSamlSessionListAsync();
+ var samlSessions = await UserSession.GetSamlSessionListAsync(ct);
validatedRequest.SamlSessions = samlSessions;
}
@@ -183,7 +183,7 @@ public class EndSessionRequestValidator : IEndSessionRequestValidator
validatedRequest.SessionId = await UserSession.GetSessionIdAsync(ct);
validatedRequest.ClientIds = await UserSession.GetClientListAsync(ct);
- var samlSessions = await UserSession.GetSamlSessionListAsync();
+ var samlSessions = await UserSession.GetSamlSessionListAsync(ct);
validatedRequest.SamlSessions = samlSessions;
}