Как добавить значения через пользовательские секреты в массив объектов c# - PullRequest
0 голосов
/ 15 февраля 2020

Поэтому у меня возникают проблемы при попытке Visual Studio добавить пользовательские секреты в свойство, которое является массивом. Я чувствую, что такого рода вещи не могут быть сделаны, но мне действительно нужно иметь способ итерации каждого из них для того, что я делаю, и я не могу хранить clientSecrets в стандартном файле appsettings по очевидной причине .

Есть ли способ сделать это, и если нет, я бы мог изменить этот объект, чтобы сделать его итеративным в c#, что также позволяет мне хранить пароли в секретах пользователя?

Объект ниже показывает текущую форму настроек приложения, в которые я пытаюсь сохранить значения.

{
  "TestClients": [
    {
      "ClientSecret": ""
    },
    {
      "ClientSecret": ""
    },
    {
      "ClientSecret": ""
    },
    {
      "ClientSecret": ""
    },
    {
      "ClientSecret": ""
    },
    {
      "ClientSecret": ""
    },
    {
      "ClientSecret": ""
    },
    {
      "ClientSecret": ""
    }
  ]
}

Я пытался превратить его в ввод и переход через клавиши, кроме консоли Приложение, с которым я работаю, похоже, не находит раздел TestClients, когда объект имеет такую ​​форму

{
   "TestClients": {
       "ClientName": {
           "ClientSecret": ""
       }
   }
}

Любая помощь будет с благодарностью признана блокирующей, спасибо заранее, Крис.

Ответы [ 2 ]

2 голосов
/ 29 апреля 2020

API-интерфейс конфигурации считывает иерархические данные конфигурации, выравнивая иерархические данные с использованием разделителя в ключах конфигурации. И usersecrets использует ту же самую сплющенную структуру с разделителями в ключах.

Таким образом, решение заключается в том, чтобы ввести свои секреты. json что-то вроде этого

{
  "TestClients:0:ClientSecret": "Some secret",
  "TestClients:1:ClientSecret": "Other secret",
  "TestClients:2:ClientSecret": "Next secret"
}

Вы можете найти более подробную информацию в документации: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-3.1#hierarchical -конфигурация-данные https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-3.1#boa

0 голосов
/ 15 февраля 2020

так что я думаю, что вы используете Jason, поэтому вам нужны такие библиотеки, как Newtonsoft Libraries, просто проверьте это: JSON String In C#

...