Недействительный токен OAuth в Asp.net-Identity

Я хочу аннулировать токен носителя в Asp.net-Identity. Я попытался вызвать UpdateSecurityStampAsync(userId), и я вижу, что штамп безопасности моего пользователя обновляется. Но старые жетоны все еще действительны. Делает ли это только недействительной аутентификацию файлов cookie?

Можно ли решить ее другим способом?


person Rikard    schedule 23.05.2014    source источник
comment
У меня была такая же проблема, и я еще не нашел хорошего/практичного решения. Один из подходов состоит в том, чтобы использовать короткое время жизни самого токена-носителя и увеличить его время жизни с помощью токенов обновления.   -  person Horizon_Net    schedule 23.05.2014
comment
Не могли бы вы задокументировать, как вы увеличиваете срок службы. Возможно, это был бы хороший ответ для Рикарда. Спасибо   -  person Samantha J T Star    schedule 25.05.2014
comment
Я знаю, как увеличить/уменьшить время жизни токена. спасибо   -  person Rikard    schedule 25.05.2014
comment
Вы нашли способ сделать это? В моем сценарии я хотел бы аннулировать токены, когда пользователи меняют свой пароль.   -  person Mark Vincze    schedule 10.10.2014
comment
@MarkVincze нет, не видел. Я думаю, что единственный способ сделать это — перепроверить токен через refresh_token.   -  person Rikard    schedule 10.10.2014


Ответы (2)


Вы можете сделать это, включив SecurityStamp (или его хэш) в токен. Затем вы можете создать свой собственный обработчик OnReceive, который сверяет SecurityStamp для этого пользователя с базой данных.

Недостатком этого является то, что у вас есть доступ к базе данных для КАЖДОГО запроса, поэтому в первую очередь устраняется одно из ключевых преимуществ наличия токена на предъявителя.

По сути, вы объедините обязанности токена носителя и токена обновления в один токен.

Вместо этого использование токенов обновления, которые отправляются гораздо реже, будет гораздо более производительным, на самом деле это не потребует дополнительного кодирования, и это довольно широко известная модель потока безопасности.

person Phil Degenhardt    schedule 15.02.2015

Из коробки аннулировать токены нельзя, потому что они генерируются машинным ключом сервера.

person Rikard    schedule 26.08.2015