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; }