我正在使用 JWT 身份验证开发 .Net Core Web API(例如 here )。
我添加了一个新的声明来存储请求的 ip 地址,然后,我想在每个连续请求上检查它,以验证请求的 ip 地址源是否与最初请求 token 的 ip 相同。
为此,我创建了一个基于自定义策略的身份验证(如 here ),并且我想获取策略的 AuthorizationHandler 上每个请求的 ip,但我无法获取它( this 没有不适用于 AuthorizationHandler)。
也许这不是我想要的方式,有人可以帮助我吗?
谢谢!
最佳答案
最后我做的是this获取IP。
然后我添加一个 ActionFilterAttribute
覆盖 OnActionExecuting
在该过滤器中,我从声明中获取原始 IP,并将其与请求 IP (context.HttpContext.Connection.RemoteIpAddress
) 进行比较。
关于c# - 根据 JWT 身份验证 token 中的声明验证请求中的 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41301079/