public async Task <IActionResult> SingleLogoutRequestAsync(string partyId, SingleLogoutSequenceData sequenceData) { logger.ScopeTrace("Down, SAML Single Logout request."); logger.SetScopeProperty("downPartyId", partyId); var party = await tenantRepository.GetAsync <SamlDownParty>(partyId); if (!ValidatePartySingleLogoutSupport(party)) { return(await singleLogoutDownLogic.HandleSingleLogoutAsync(sequenceData)); } var claims = await claimsDownLogic.FromJwtToSamlClaimsAsync(sequenceData.Claims.ToClaimList()); switch (party.LogoutBinding.RequestBinding) { case SamlBindingTypes.Redirect: return(await SingleLogoutRequestAsync(party, new Saml2RedirectBinding(), claims)); case SamlBindingTypes.Post: return(await SingleLogoutRequestAsync(party, new Saml2PostBinding(), claims)); default: throw new NotSupportedException($"SAML binding '{party.LogoutBinding.RequestBinding}' not supported."); } }
public Task <IActionResult> LogoutDoneAsync() { return(singleLogoutDownLogic.HandleSingleLogoutAsync()); }