Где хранить секрет клиента? - PullRequest
0 голосов
/ 17 апреля 2019

Я только начинаю работу с сервером идентификации и сейчас прохожу быстрый старт (заранее извиняюсь за вопрос по noob!).

Мой запрос связан с тем, что во всех быстрых запусках на сайте документациисекрет клиента отображается в коде в виде простого текста, даже в примере, где для хранения настроек и кредитов пользователей используются идентификаторы EF и asp.net.

Моя немедленная реакция заключается в том, что сохранение секрета в коденет-нет, но я вижу смягчающие обстоятельства в зависимости от того, о каком типе клиента мы говорим, например, если клиент является размещенным веб-приложением mvc, тогда код теоретически хорошо защищен на хост-сервере, но если это клиент для настольного компьютера, то оннапример, более уязвим для декомпиляции.

Я просмотрел все быстрые запуски и также провел поиск в Google, но не могу найти каких-либо однозначных ответов, похожих на кредиты пользователей asp.net (т. е. storeхешируется в дб).Я также просмотрел документацию по серверу идентификации, чтобы найти какое-либо руководство по этому вопросу, и не нашел ни одного (даже у подтемы секретов есть секрет в коде).

Так что я беспокоюсь ни о чем и должен просто придерживатьсясекрет в файле конфигурации в виде открытого текста или есть лучший встроенный механизм (например, хэширование и хранение идентичности asp.net в БД или аналогичный)?

Спасибо:)

PS этот вопрос относится к секретному хранилищу в коде сервера идентификации, а также в клиенте

1 Ответ

1 голос
/ 18 апреля 2019

Если вы только не запускаете Identity, вы должны хранить все свои клиентские секреты в своей базе данных.Большинство стартапов используют файл Config.cs для хранения всего этого, потому что это просто локальное тестирование.Но как только у вас работает IS4, вы должны переместить его в свою базу данных и сохранить хешированную версию пароля, чтобы гарантировать, что если ваша база данных будет раскрыта, они все равно будут в безопасности.Что касается кода вашего сервера идентификации, я храню секретный ключ в appSettings, который вы можете хранить в тайне в зависимости от своего развертывания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...