2010-05-25 5 views
0

Я предоставляю RESTful API. Этот API используется сторонним настольным приложением. API в настоящее время защищен с использованием базовой аутентификации. Это не очень безопасно, поскольку учетные данные должны храниться в клиентском приложении. Связь между настольным приложением и API также может быть легко перехвачена.Аутентификация Sceme для RESTful API, используемого настольным приложением

Настольное приложение также связывается с сервером третьей стороны (запустить издателем настольного приложения)

Я не могу понять, как крепят API в хорошем смысле. Идеи?

ответ

1

У вас, кажется, есть два отдельных вопроса: (1) хранилище учетных данных на клиенте и (2) связь с услугой.

Вы можете обратиться к служебной связи (и предотвратить перехват потока), выполнив свою службу под SSL. Весь коммуникационный поток зашифрован.

Хранилище учетных данных на клиенте выходит за пределы вашего API - вы не можете контролировать то, что кто-то делает с учетными данными. Если вы также несете ответственность за развертывание и поддержку настольного клиента, который вызывает ваш API, существуют стратегии сохранения учетных данных на клиенте (зависит от ОС). В противном случае ваша самая безопасная ставка проста - не храните учетные данные, требуя пользователь для предоставления параметров uid/pwd с каждым сеансом. Опять же, все зависит от ОС хоста и клиентского приложения.

Смежные вопросы