Токены ограниченного доступа

Маркеры доступа с ограниченным использованием обеспечивают защиту от подмены запросов и атак повторного воспроизведения , гарантируя, что действие будет выполнено пользователем, которому было отправлено сообщение. Защита достигается путем добавления уникального параметра токена к параметрам запроса и его проверки при вызове действия.

Параметр token должен быть сгенерирован как ключ, который можно использовать только для определенного действия и конкретного пользователя. Перед выполнением запрошенного действия следует убедиться, что токен действителен и соответствует тому, который вы сгенерировали для пользователя. Если токен совпадает, то действие может быть выполнено, и токен становится недействительным для будущих запросов.

Маркеры доступа должны быть отправлены пользователю как часть свойства url HttpActionHandler . Например, если ваше приложение обрабатывает запросы на утверждение по адресу http://www.example.com/approve?requestId=123 , вам следует подумать о включении в него дополнительного параметра accessToken и прослушивать запросы, отправленные на http://www.example.com/approve?requestId=123&accessToken=xyz .

Комбинация requestId=123 и accessToken=xyz — это та, которую вы должны сгенерировать заранее, убедившись, что accessToken нельзя вывести из requestId . Любой запрос на утверждение с requestId=123 и без accessToken или с accessToken , не равным xyz должен быть отклонен. Как только этот запрос будет выполнен, любой будущий запрос с тем же идентификатором и токеном доступа также должен быть отклонен.