Os tokens de acesso de uso limitado protegem contra spoofing de solicitações e ataques de repetição, garantindo que a ação seja realizada pelo usuário para quem a mensagem foi enviada. Para conseguir a proteção, adicione um parâmetro de token exclusivo aos parâmetros de solicitação e verifique-o quando a ação for invocada.
O parâmetro token precisa ser gerado como uma chave que só pode ser usada para uma ação e um usuário específicos. Antes de realizar a ação solicitada, verifique se o token é válido e corresponde ao que você gerou para o usuário. Se o token corresponder, a ação poderá ser realizada e o token se tornará inválido para solicitações futuras.
Os tokens de acesso precisam ser enviados ao usuário como parte da propriedade url
do HttpActionHandler. Por exemplo, caso seu aplicativo processe solicitações de aprovação em http://www.example.com/approve?requestId=123
, considere incluir um parâmetro accessToken
adicional para ele e detectar solicitações enviadas para http://www.example.com/approve?requestId=123&accessToken=xyz
.
A combinação requestId=123
e accessToken=xyz
precisa ser gerada com antecedência, garantindo que o accessToken
não possa ser deduzido do requestId
. Qualquer solicitação de aprovação com requestId=123
, sem accessToken
ou com accessToken
diferente de xyz
precisa ser rejeitada. Depois que a solicitação for processada, qualquer solicitação futura com o mesmo ID e token de acesso também será rejeitada.