Выход из Identity Server - PullRequest
       8

Выход из Identity Server

0 голосов
/ 17 сентября 2018

Я нахожусь в веб-проекте Asp.net MVC .net 4.5, подключающемся к серверу Identity Server 4 для входа и выхода.Вход в систему просто отлично.Когда я пытаюсь выйти из системы Request.IsAuthenticated все еще верно.Я могу обновить, и это действует так, как будто я все еще вошел в систему, пока я не закрою браузер.Когда я открываю его, он переходит на страницу входа на Identity Server.Любая идея, почему?

Код выхода:

Request.GetOwinContext().Authentication.SignOut(OpenIdConnectAuthenticationDefaults.AuthenticationType);
Session.Clear();
Session.Abandon();

Заголовки ответа:

HTTP / 1.1 200 OK
Cache-Control: no-cache
Pragma: без кэширования
Content-Type: application / json;charset = utf-8
Истекает: -1
Сервер: Kestrel
Set-Cookie: idsrv.session = .;expires = вс, 17 сентября 2017 г. 20:50:52 GMT;Path = /;Безопасный
Set-Cookie: idsrv =;истекает = чт, 1 января 1970 г. 00:00:00 по Гринвичу;Path = /;Безопасный
X-Powered-By: ASP.NET
Дата: понедельник, 17 сентября 2018 20:50:52 GMT
Строгая-транспортная безопасность: max-age = 157680000
Длина содержимого:601

Заголовок запроса:

GET / XWAdmin / account / login HTTP / 1.1 Хост: localhost Соединение: keep-alive Обновление-небезопасные запросы: 1 User-Agent: Mozilla /5.0 (Windows NT 10.0; Win64; x64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 68.0.3440.106 Safari / 537.36 Принимать: текст / html, приложение / xhtml + xml, приложение / xml; q = 0,9, изображение / webp, image / apng, / ; q = 0,8 Accept-Encoding: gzip, deflate, br Accept-Language: en-US, en; q = 0,9Cookie: rurl = / XWAdmin /;__RequestVerificationToken_L1hXQWRtaW41 = wElsOf5d9ti5DtEOmBmEuD9WqhyFAIeVxbIGEFJ9axRvlBQkl2szOHZF5K8wnLG6o8djmjOoI1lk4FavA8X2mHzg3L7xJ05FGx88wvIirsQ1;.AspNet.Cookies = urAb_USLLWmxzlB4lshB6K8-iKdwdzoGlDbverK0SmKKQjBHrBEwTYyP-8pkTvZeuAKqvw8bOInLGpm_1fhfcHjwTps8fXk4ej-xIhQcOpQhux0NqSqE7MUPPDnDwLUDlZVCTiQ5ORm0IhL3hR4Noil0j3pAlUkRAQhZAOMVLATevufvDvxc3ZdzYtQr9jVf-UzGTW1zUClOlmb1YOPEnPoSL3RXTJzjpGayWPDd6EG0FIzd7gYMy9NMrsguN8I3T2SrmU6sJFPI5fpsgvuJJEbLvVmoR57p-wCbYFBzPr-Pvtl5U6X2Xfsj7EaH0GvDgfFUEhx7eB81AZyYm8bO_9ReVm8iPPS9YaDERCSPy4ZW5ECMOmOJHYNLsV_91adYUKRn33A8Mhi6ubkXVof4G6n0xs-NBYVeeEx2OickwN156vcdjyDU31taHWXrnF56snV1Yyl4IWWCjCXHGpcBYe4Ca12XlmFP8ISOSStSlUwp07YitFnX9MxKdsYOsx31pnMgK8jTIIlnMxXX6FuiiVnh2n45CVsQ7GmHQ7RHSH-lr7TEYZOktR_FQceZDYzwrBey5kWalMRi5O4aXyymtEF9tXM9iub0Q_xHq3EfbP_qIbLzmEPHF5lt1uR0A3gASfSJd4Hg1y16eku90ZVqIJcpnvbK7tMmqJuhB8REbvZPwe1EYAW9GbnAMbTTjZmt_sktOSCkwphokJggj2JE87CO5fTKSEOsrPzuB9sg3aRZdpKXMrtHcm0Xh9ybi3L6XTSZzggQLFtc4eo-P16SbHN4vHr2vREFU51uvcXowJr6b9iVTtRoeNF-slMGAtaHf6u5gx-ByyZzmBHYwwzhGM9b5xliuA7-_y7Sd_o8qW2QRhVpyEZo6xMzsGzaHRrJ8E1jFbLd2irtd8LDpOejdlaEjNgeFPwmyd0OHV27iqXLuetyZf6J4OEKXxWo9GgUvRzjc-RbAmT9ITWiKt76q9xgevQydnkCO7fjpP8xw97YxvyYOjaiYMmwa4NcyTidv1kRHBhb8m1hkHR5botVvkNWeg6dolKtHgHD2ufdg-LfXqsAwDdja4Q68ewxsIL0MzKGoqvl7ObqtAyj6pkcfWKFmDpA1QC_iQOuS0XRTJ5dLv3au0TaxnQg9iIX-dJLcXwj0zMSCuVmiTTZVuDEKlzf-AeiJyO3CEdcMY_BEBPlb4lKuBH6qks4wtRwlI2-KLYXAKT5de95SP-NXwk4rKF4yY64feR9RU9UB8iGGOE3JflwzZKng1KGabHbjKHIm6cCTPCRDYsFKN6FuCmOiLiQE1kIhWRTu_L585gIBXyZBR_AEQeqRTObWPVsEn5tdcg3-U2SAcmv3AJ9jPt4s2G19D4H9aKX83T07vQILw-UzVqL8hDYjV-7cGzXYpqNIsuzVyiGz2xU6vT7F6OuGbQjkuFKcKb2rd88CJNsNv8X19XwBghKcbBwIPxX9fkAeASApv1mqdIN873CAEbJpai2HrzMOILwSD6xleXTxobo64cS3ix4qhRgeCE4JfTzgIl8NiQ83S46JKkKTm2RrtZygc4T4kuN6cUI6gikwhcKos2mk9IKf52skT_6LJ-J9HvYXN2k7s8sCdgEbyNIrZMSfm2y7HjytPWguMQjcLYoxMZzYgwOTWbh7qK2uA87RP8w70ClSP56_bAWg_0MYlLx0JQp6bdaWuADwMTzhuH6SiVgiob6tKq09CtobrleLwjcWs97kSw0chDZhWoc8DBrE61NiUfiGrFJTl3GsZoWLEGQkeNxKwG-fmB4Z6zdjiu_lgtMIrLGnzemSBh92P7nnd7BCuA1axU-6_eg85Z7DH7Ek0ZGqCgG99z-4WVO;.ASPXAUTH =

Это то, что я сделал, чтобы заставить его работать, комбинируя несколько предложений:

            string[] ss = Request.GetOwinContext().Authentication.GetAuthenticationTypes().Select(o => o.AuthenticationType).ToArray();
            Request.GetOwinContext().Authentication.SignOut(
                    new AuthenticationProperties
                    {
                        RedirectUri = Online.Server.Busi.Auth.Authentication.GetSingleSignOnRedirectUrl()
                    },
                ss);

            try
            {
                Session.Clear();
                Session.Abandon();
            }
            catch
            { }

            // clear authentication cookie
            HttpCookie cookie1 = new HttpCookie(FormsAuthentication.FormsCookieName, "");
            cookie1.Expires = DateTime.Now.AddYears(-1);
            Response.Cookies.Add(cookie1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...