IdentityServer4使用UserId保存和检索数据

时间:2018-09-16 01:42:34

标签: .net asp.net-core identityserver4

IdentityServer4在其他表中创建一个带有userIds的AspNetUsers表,我想使用这些userid来存储和检索相关数据。

当我发送带有承载令牌的请求时,如何使用以下示例从请求中检索用户ID;

[Authorize]
[HttpPost]
public async Task<IActionResult> Post([FromBody]VehicleRequest message)
{
    userId = "?";

    Vechicle vehicle = await _vehicleRepository.AddVehicle(
        message.licensePlate,
        message.make,
        message.model,
        userId);

    return new ObjectResult(vehicle);
}

[Authorize]
[HttpGet]
public async Task<IActionResult> GetVehicles()
{
    userId = "?";

    IList<Vechicle> vehicles = await _vehicleRepository.GetVehicles(userId);

    return new ObjectResult(vehicles);
}

1 个答案:

答案 0 :(得分:1)

用户ID通常位于控制器操作中可通过User.Identity.Clams访问的“子”声明中。