【问题标题】:Parsing JSON in SCIM endpoint C#在 SCIM 端点 C# 中解析 JSON
【发布时间】:2020-03-21 14:31:01
【问题描述】:

我目前正在尝试开发一个从 AAD 调用的 SCIM 端点。我非常了解 SCIM 的设置及其背后的想法(我认为)。问题是我不知道如何实际使用模式。我应该在 C# 中创建一个模型来反映我们最终使用的模式,还是应该尝试做一些聪明的逻辑来“查找”端点中的模式,例如当 AAD 尝试创建用户然后解析 JSON基于此,还是有另一种我完全想念的方法?

我正在使用 .NET Core Web API 并有一个用户控制器,因为我现在不需要 AAD 的任何其他东西。

任何有关如何在实践中“使用”这些模式的帮助将不胜感激!

【问题讨论】:

  • 您需要为不同的实体(例如组)设置单独的 SCIM 端点。并且每个端点都应该根据 SCIM 定义的模式接受预定义的有效负载。所以你需要创建 c# 类来反映 json 模式。此外,模式不需要具有除必需属性之外的所有属性。
  • 嗨 Chetan,谢谢。我认为这将是这样做的方法,但我不明白“强制性”字段的定义在哪里。我知道根据 SCIM 定义有一些必填字段,但是如果客户有更多必填字段怎么办,这些定义在哪里?

标签: c# api scim scim2


【解决方案1】:

此示例可能会有所帮助 - https://github.com/AzureAD/SCIMReferenceCode/blob/master/Microsoft.SystemForCrossDomainIdentityManagement/Schemas/Core2UserBase.cs

namespace Microsoft.SCIM
{
    using System.Collections.Generic;
    using System.Runtime.Serialization;

    [DataContract]
    public abstract class GroupBase : Resource
    {
        [DataMember(Name = AttributeNames.DisplayName)]
        public virtual string DisplayName
        {
            get;
            set;
        }

        [DataMember(Name = AttributeNames.Members, IsRequired = false, EmitDefaultValue = false)]
        public virtual IEnumerable<Member> Members
        {
            get;
            set;
        }
    }

在 AAD 中配置您的应用时,您还可以进入应用 > 配置 > 属性映射 > 显示高级选项 > 然后指定需要哪些属性

【讨论】:

    猜你喜欢
    • 2013-12-28
    • 1970-01-01
    • 2010-11-15
    • 2021-12-31
    • 1970-01-01
    相关资源
    最近更新 更多