Решения для клиентских сертификатов веб-сервисов / авторизация лучших практик

У меня есть простой веб-сервис, который имеет API, доступ к которому разрешен сторонним разработчикам. API в основном следует принципам REST.

Я заинтересован в решениях для повышения безопасности API, требуя от разработчиков использования клиентских сертификатов. Есть ли у вас какие-либо решения с открытым исходным кодом или другие рекомендации по реализации, которые могли бы помочь в API на основе REST, использующих сертификаты уровня пользователя для аутентификации?

2 ответа

Решение

Мой общий совет - держать ваш API отдельно от ваших процедур аутентификации. Ваш веб-сервер должен обрабатывать взаимодействие для вас.

Решения для вашей стороны сценария клиент-сертификат зависят от вашей среды. Вы не опубликовали это здесь, но, похоже, целевой поиск в Google должен дать вам представление о том, что необходимо.

Поскольку вы предоставляете API другим сторонам, у вас есть некоторые соображения относительно поддержки среды для этих разработчиков. Вы хорошо справляетесь с REST-базой, и большинство сред программирования будут взаимодействовать с ними довольно хорошо.

Поддержка клиентских сертификатов, вероятно, будет различной с точки зрения эффективности поддержки в разных средах, платформах и т. Д. Кроме того, теперь вы влияете на реализацию на стороне клиента, когда вам требуются сертификаты. Это почти наверняка поставит вас в положение, требующее от вас поддержки ваших клиентов и запуска их с вашим API. Это означает знакомство с другими языками, веб-серверами, фреймворками и т. Д.

HTTP-библиотека Python поддерживает клиентские сертификаты, так же как и библиотека urllib, расположенная поверх нее.

Другие вопросы по тегам