Итак, просто немного фона на настройке.Как правильно защитить учетные данные api в приложении C#
В настоящее время у меня есть веб-проект Api2, который является серверной частью этого спокойного api. Клиенты в настоящее время используют комбинацию имени пользователя/пароля для получения токена-носителя, который затем используется в последующих вызовах api. Проект хранится в частном проекте GitHub.
Я ищу для создания и развертывания службы windows C#, которая будет использовать этот api. Какова будет наилучшая практика в отношении развертывания и хранения учетных данных вместе с этой службой Windows.
Я управляю обоими концами api, и я буду управлять развертыванием службы Windows. Это будет упаковано в виде msi и развернуто через какое-то стороннее программное обеспечение (автоматическое).
Ниже приведены требования
- Полномочия не могут быть сохранены в системе управления версиями
- полномочий не может быть в виде текста на стороне клиента.
Таким образом, мой вопрос: как я могу получить учетные данные api на клиенте, а не в обычном тексте, но в удобном для использования формате?
Или я должен искать другой тип аутентификации для api? Я коротко посмотрел на oauth2, но насколько я могу сказать, вам понадобится кто-то на стороне клиента, чтобы принять его?
Если у кого-то есть какие-либо советы или ресурсы о том, как это сделать, это было бы потрясающе.
Я собираюсь отметить это как ответ, потому что, хотя он не решал напрямую проблемы, он поставил меня на правильный путь. На клиентских серверах уже есть GUID, которые могут быть доступны как часть другого программного обеспечения третьей стороны. Эти GUID также могут быть доступны с серверной стороны, поэтому мы решили использовать технически «открытую» api, которая использует этот GUID в качестве аутентификации – tjackadams