Я использую стандартную систему промежуточного программного обеспечения ASP.net OWIN OAuth для аутентификации локальных пользователей с помощью токенов Bearer. Я думал о встраивании ролей в качестве утверждения в токен, но мне было интересно, как я смогу изменить роль пользователя, например, лишив его прав администратора, не выходя из системы. Есть идеи?
ПО промежуточного слоя ASP.net OWIN OAuth с токеном носителя и сменой ролей
Ответы (1)
Всегда можно реализовать некоторые грязные решения для поддержки вашей проблемы, например: когда роли изменились, поднимите даже в очереди, такой как RABBITMQ / NServiceBus (или через событие). Подписчик (веб-сайт) аннулирует файл cookie и создаст новый с новыми требованиями.
Я не вижу проблемы с ожиданием истечения срока действия файла cookie. На самом деле токен носителя (удостоверение или доступ) имеет свойство «expires_in», поэтому даже если ваш файл cookie регенерируется с новыми утверждениями, токен по-прежнему действителен в поставщике. Еще одно замечание: ваши разрешения могут быть возвращены сервером UMA, они не обязательно должны исходить из ваших требований. Взгляните на этот сценарий: http://lokit.westus.cloudapp.azure.com/Documentation#Third-scenario-limit-access-to-certain-website-features