限制用途的访问令牌

限次使用的访问令牌可防范请求欺骗和重放攻击,确保操作由预期收件人执行。您可以通过以下方式防范这些攻击:在请求参数中添加唯一的令牌参数,并在调用操作时验证该参数。

生成令牌参数,作为只能用于特定操作和特定用户的密钥。在执行所请求的操作之前,请验证令牌是否有效且与为用户生成的令牌一致。如果令牌匹配,则执行相应操作并使令牌失效,以供日后的请求使用。

将访问令牌作为 HttpActionHandlerurl 属性的一部分发送给用户。 例如,如果您的应用在 http://www.example.com/approve?requestId=123 处理审批请求,请考虑添加 accessToken 参数并处理发送到 http://www.example.com/approve?requestId=123&accessToken=xyz 的请求。

requestId=123accessToken=xyz 的组合必须提前生成;确保无法从 requestId 推断出 accessToken。拒绝任何具有 requestId=123 但没有 accessToken 或具有不等于 xyzaccessToken 的审批请求。此请求成功后,拒绝任何具有相同 ID 和访问令牌的未来请求。