Я использую приведенный ниже код для создания токена OAuth. Работает нормально. Теперь я хочу удалить / истечь токен каждый раз, когда я выхожу из системы. Как я могу этого добиться?
ClaimsIdentity oAuthIdentity = new ClaimsIdentity(OAuthDefaults.AuthenticationType);
ClaimsIdentity cookiesIdentity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationType);
AuthenticationTicket ticket = new AuthenticationTicket(oAuthIdentity, null);
context.Validated(ticket);
context.Request.Context.Authentication.SignIn(cookiesIdentity);
Я попробовал метод Authentication SignOut, но он ничего не делает. Нужно ли мне использовать как OAuthDefaults, так и CookieAuthenticationDefaults для создания токена?
@BinaryPatrick нет. Это MVC.





Токены OAuth обычно являются самодостаточными (JWT), что означает, что они содержат информацию о пользователе, а также время истечения срока действия токена, поэтому вы не можете удалить или истечь срок действия существующих токенов.
Затем, если у кого-то есть токен, даже после выхода из системы его можно использовать не по назначению.
Да такова его природа. Даже файлы cookie такие же, если вы где-то храните cookie, затем выйдите из системы, а затем сами добавьте cookie в браузер, вы все равно аутентифицированы
Есть ли способ предотвратить эту проблему?
вы можете использовать эталонный токен доступа. проверьте эту ссылку для получения дополнительной информации docs.identityserver.io/en/release/topics/reference_tokens.ht ml
Вы также можете сохранить список токенов, срок действия которых истек.
Это ядро asp.net?