/// <summary> /// Is Valid OIDC End Session Response. /// </summary> public static void Validate(this EndSessionResponse response) { if (response == null) { new ArgumentNullException(nameof(response)); } response.State.ValidateMaxLength(IdentityConstants.MessageLength.StateMax, nameof(response.State), response.GetTypeName()); }
private void EndSessionResponseHandler(EndSessionResponse response) { if (!response.HasError) { if (clientPublicKey.ContainsKey(response.ClientName)) { clientPublicKey.Remove(response.ClientName); } } }
public async Task <IActionResult> EndSessionResponseAsync(string partyId) { logger.ScopeTrace("Down, End session response."); logger.SetScopeProperty("downPartyId", partyId); var sequenceData = await sequenceLogic.GetSequenceDataAsync <OidcDownSequenceData>(false); var endSessionResponse = new EndSessionResponse { State = sequenceData.State, }; logger.ScopeTrace($"End session response '{endSessionResponse.ToJsonIndented()}'."); var nameValueCollection = endSessionResponse.ToDictionary(); logger.ScopeTrace($"Redirect Uri '{sequenceData.RedirectUri}'."); logger.ScopeTrace("Down, OIDC End session response.", triggerEvent: true); await sequenceLogic.RemoveSequenceDataAsync <OidcDownSequenceData>(); await formActionLogic.RemoveFormActionSequenceDataAsync(); return(await nameValueCollection.ToRedirectResultAsync(sequenceData.RedirectUri)); }
//Logout Error public void OnErrorLogout(EndSessionResponse pLogoutResponse) { Debug.Log("Error Logout"); }
//Logout Sucessful public void OnSucessLogout(EndSessionResponse pLogoutResponse) { PlayerManager.Instance.ClearCache(); SetScreen(Screen.LOGIN); }