c# - 根据 JWT 身份验证 token 中的声明验证请求中的 IP

标签 c# authentication token jwt .net-core

我正在使用 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/

相关文章:

c# - 读取csv文件编码错误

c# - 带有客户端身份验证的 .Net 和 Java 之间的 SSL 套接字

authentication - Azure AD B2C 是否支持 JWT token 中的 "roles"声明进行授权?

c# - mvc5 全局认证检查

ruby-on-rails - 领英 : Exchange JSAPI token to REST's OAuth token

android - Phonegap/Pushwoosh Android 检索设备 ID/ token

c# - 使用 SignalR 和 IProgress 接口(interface)的进度报告

c# - 如何使用 Entity Framework 关联 "fixup"?

c# - 如何在另一种样式中使用一种样式的值?

php - 使用 Magento 作为 SSO 供应商