C# 奥克塔';请求主体的格式不正确';在非常简单的属性更新过程中

C# 奥克塔';请求主体的格式不正确';在非常简单的属性更新过程中,c#,asp.net-core,okta,C#,Asp.net Core,Okta,我正在从.Net后端调用okta API。它在创建用户(下面代码段的第一部分)时工作正常,因此我知道令牌是正确的,等等,并且我可以确认新用户存在 随后,我还更新了添加到用户“Site”的属性。当尝试分配此属性值时,它会在“UpdateAsync”行上引发一个异常,表明请求正文的格式不正确 var user = await _oktaClient.Users.CreateUserAsync(new CreateUserWithPasswordOptions

我正在从.Net后端调用okta API。它在创建用户(下面代码段的第一部分)时工作正常,因此我知道令牌是正确的,等等,并且我可以确认新用户存在

随后,我还更新了添加到用户“Site”的属性。当尝试分配此属性值时,它会在“UpdateAsync”行上引发一个异常,表明请求正文的格式不正确

            var user = await _oktaClient.Users.CreateUserAsync(new CreateUserWithPasswordOptions
            {
                Profile = new UserProfile
                {
                    FirstName = value.FirstName,
                    LastName = value.Surname,
                    Email = value.Email,
                    Login = value.Email,
                },
                Password = value.Password,
                Activate = true,
            });

            var newUser = await _oktaClient.Users.GetUserAsync(user.Id);

            newUser["site"] = Site;
            await newUser.UpdateAsync(); // This line throws!
注意:我并不总是这样做,我之前分配给
user
对象,然后在更新user对象上的“site”后调用
UpdateAsync()
。这是另一种方法,因为我正在尝试不同的事情(即再次从API获取用户)。这两种方法都不起作用

非常奇怪的是,这一直在起作用,我100%肯定这一点。我正在查看我的okta用户目录“正如我们所说的”,有大量用户,他们的站点属性都已填充。以前没有问题。我相信一定有什么东西已经更新了okta的结束,现在不喜欢我的要求,因为某种原因,但在任何情况下,我都需要一个工作周围的理想

我可以确认
Site
既不是空的也不是空的,它只是一个字符串

更新 我刚刚在okta的
IResource
上发现了一个
SetProperty
扩展,在尝试更新用户之前调用它会导致同样的问题


非常感谢您的帮助。

看起来自定义属性无法再分配给用户对象本身,但需要位于用户配置文件中:
newUser.profile[“site”]=site

您是否通过邮递员收到相同的错误?自定义属性是否通常添加到用户配置文件
newUser.profile[“site”]=site?啊,这很有道理,谢谢@Yosh。没有意义的是它以前是如何工作的!?我在家的时候会测试这个。我只是简单地看了一下源代码,看起来像是从过去的资源中继承的用户类。这可能是它以前成功的原因…@Yosh-非常感谢你的努力,非常感谢。你能把这个贴出来作为答案吗?我很失望看到奥克塔队在没有头球的情况下做出了突破性的改变,但我想我无能为力。