首页 > 解决方案 > 将 ASP.NET Core 操作参数绑定到 JWT 声明

问题描述

可以通过以下方式绑定动作的参数

我经常需要从 JWT 中提取一些东西,几乎总是id(主键)。所以我这样做(暂时忽略错误检查):

var id = int.Parse(base.User.FindFirst(ClaimTypes.NameIdentifier)?.Value);

如果我可以将它放入一个可以像这样工作的属性绑定器中,那就太好了:

public IActionResult doStuff([FromBody] MyModel model, [FromJwt] int id) {
  // id works automatically
}

或者也许[FromJwtId]是为了让它更简单。

这样的事情可能吗?

标签: c#asp.net-corejwtmodel-bindingasp.net-core-2.2

解决方案


我认为可以使用HttpParameterBinding.

微软对此有一个教程


推荐阅读