private void LogOffAllAPP(LogOffInfo info)
        {
            List <AppLogOffCallBackUrl> urls = info.GetAllRelativeAppsLogOffCallBackUrl();

            this.RenderCallBackUrls(urls);

            PassportSignInSettings.GetConfig().PersistSignInInfo.DeleteRelativeSignInInfo(info.SessionID);
            PassportManager.ClearSignInCookie();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Cache.SetCacheability(HttpCacheability.NoCache);

            LogOffInfo info = LogOffInfo.FromRequest();

            if (info.SessionID.IsNotEmpty())
            {
                if (info.LogOffAll)
                {
                    this.LogOffAllAPP(info);

                    if (info.ReturnUrl.IsNotEmpty())
                    {
                        string retuenUrl = info.ReturnUrl;

                        bool isFromApp = info.IsFromCascaseLogOffUrl == false && IsFromSelf() == false;

                        if (info.CascadeLogOffUrl.IsNotEmpty() && isFromApp)
                        {
                            retuenUrl = info.CascadeLogOffUrl;
                        }
                        else
                        {
                            retuenUrl = ModifyReturnUrlWhenWindowsintegrated(info.ReturnUrl,
                                                                             info.LastUserID,
                                                                             info.WindowsIntegrated);
                        }

                        returnHref.HRef = retuenUrl;

                        if (isFromApp)
                        {
                            autoRedirect.Value = (info.NeedAutoRedirect).ToString();
                        }
                        else
                        {
                            autoRedirect.Value = (info.AutoRedirect).ToString();
                        }
                    }
                }
                else
                {
                    if (info.ReturnUrl.IsNotEmpty())
                    {
                        Response.Redirect(info.ReturnUrl);
                    }
                }
            }

            Response.Expires = -1;
        }