【问题标题】:IdentityServer4 Skoruba new field parameter is missingIdentityServer4 Skoruba 新字段参数丢失
【发布时间】:2021-06-04 08:24:37
【问题描述】:

我正在为我的项目使用https://github.com/skoruba/IdentityServer4.Admin 存储库。

我为一些自定义字段(CreateDate)创建了 ViewModel 类(公共类 CreateDateViewModel:IdentityUser),并从 IdentityUser 继承了它。迁移(Add-Migration "MigrationName" -Context IdentityServerConfigurationDbContext -o Migrations/IdentityServerConfiguration)并更新数据库后,该字段出现在数据库中,但Account控制器仍然无法访问user.CreateDate属性(var user = await _userManager .GetUserAsync(model.UserName); user.CreateDate 丢失)

你能建议怎么做吗?

【问题讨论】:

    标签: inheritance identityserver4


    【解决方案1】:

    过了一段时间我得到了答案,由于这里没有 cmets,我决定自己回答。如果有人面临同样的问题,请知道最好将此信息放入声明中,而不是在 DB 中创建新列。因此,您需要修改和添加您自己的用户声明的 OpenIDProfile.cs、AddressClaimConstants 和 OpenidClaimsHelpers.cs 文件。然后您需要调用方法 updateuserclaims - 同步现有和新的声明,然后将它们存储到 UserClaims 中。

    在您的控制器中的任何地方,您都可以获得这些声明:

    你可以在这里找到更多https://github.com/skoruba/IdentityServer4.Admin/issues/308

    【讨论】:

      猜你喜欢
      • 2019-09-30
      • 2018-04-03
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多