Mam pewne problemy z uwierzytelnianiem OWIN Cookie. Mam witrynę .Net, która ma kilka stron MVC, które używają uwierzytelniania plików cookie i zasobów WebAPI chronionych przez token na okaziciela.OWIN - Uwierzytelnianie.SignOut() prawdopodobnie nie usuwa ciasteczka
Po wylogowaniu usuwam token dostępu na kliencie, aby kolejne żądania interfejsu API nie zawierały tokenu w nagłówku, a zatem nie będą uwierzytelniane. Ta część jest w porządku.
W podobny sposób chciałbym również wylogować się, aby usunąć plik cookie wykorzystywany przez strony MVC. Zrobiłem następujące operacje na serwerze:
[Route("Logout")]
public IHttpActionResult Logout()
{
var ctx = Request.GetOwinContext();
var authenticationManager = ctx.Authentication;
authenticationManager.SignOut();
return Ok();
}
Jednak po wywołującego wylogowania, mogę nadal odwiedzenia strony chronionej MVC chociaż cookie byłby podobno został usunięty przez wywołanie wylogowaniu.
Wydaje się to takie proste, więc mogłem coś przeoczyć.
Dzięki,
Dzięki! Przekazywanie 'Microsoft.AspNet.Identity.DefaultAuthenticationTypes.ApplicationCookie' do' SignOut' działało dla mnie. Podpisywaliśmy ludzi z 'Session_Start()' w 'Global.asax.cs' –