【问题标题】:Edit Client in IdentityServer4在 IdentityServer4 中编辑客户端
【发布时间】:2017-06-29 02:24:37
【问题描述】:

示例和种子数据显示在 Startup 中创建新客户端。 这在创建客户端的情况下很好。 是否有任何现有的更新客户端的方法或规定。更新还涉及从客户端的集合字段中跟踪现有记录。 考虑到数据库中已有记录,在更新期间如何将实体从 IdentityServer4.Models 映射到 IdentityServer4.EntityFramework.Entities?

【问题讨论】:

    标签: identityserver4


    【解决方案1】:

    当您说客户时,您是什么意思?如果您的意思是身份服务器的客户端,那么您可以在配置类中编辑/配置或添加更多客户端或其他资源。启动时,身份服务器会自行加载所有客户端,都是因为这段代码:

    // Add identity server.
    
        services.AddIdentityServer()
            .AddTemporarySigningCredential()
            .AddInMemoryIdentityResources(Config.GetInMemoryIdentityResources())
            .AddInMemoryApiResources(Config.GetInMemoryApiResources())
            .AddInMemoryClients(Config.GetInMemoryClients(Configuration))
            .AddAspNetIdentity<ApplicationUser>()
            .AddProfileService<SqlProfileService>();
    

    【讨论】:

      【解决方案2】:

      是否有任何现有的更新客户端的方法或规定。 更新涉及跟踪集合中的现有记录 客户中的字段也是如此

      是的,您可以像更新任何其他数据一样更新客户端。检查here 如何将EntityFramework 核心与identityserver4 一起使用

      实体如何从 IdentityServer4.Models 映射到 IdentityServer4.EntityFramework.Entities 在更新期间考虑 记录是否已在数据库中可用?

      如果您检查 IdentityServer4 源代码,您会发现 AutoMapper 用于转换实体(命名空间 IdentityServer4.EntityFramework.Mappers)。并提供了一个名为ToModel 的扩展

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-18
        • 1970-01-01
        • 2021-05-03
        • 2020-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多