#api #authentication
#API #аутентификация
Вопрос:
В будущем я хотел бы создать настольный клиент, приложение для iPhone и т.д. Для взаимодействия с веб-приложением, над которым я сейчас работаю. В настоящее время я работаю над добавлением уровня аутентификации в приложение и пытаюсь учитывать эти планы на будущее. Каков наилучший способ настроить это. Я читал о защите API, и многое из того, что я прочитал, рекомендует использовать открытый и закрытый ключи. Правильный ли это подход для использования? Мне кажется, что это неправильный подход, поскольку первое, что сделает пользователь, это войдет в систему, после чего мне придется отправить закрытый ключ в приложение, которое не кажется очень закрытым.
Ответ №1:
Открытый и закрытый ключи — правильный подход. Ваше приложение или сервер никогда не отправляют свои закрытые ключи. Доступны только открытые ключи. Процесс заключается в следующем:
- Ваше приложение использует
server's public
ключ для шифрования данных и отправляет их - Единственный способ расшифровать данные — это использовать
server's private
ключ, и поэтому только сервер может их прочитать. - Сервер использует
app's public
ключ для шифрования данных и отправляет - Единственный способ расшифровки данных — это использовать
app's private
ключ, и поэтому только приложение может его прочитать.
Я предлагаю вам прочитать больше о том, как работает обмен данными между открытым и закрытым ключами. Я постараюсь предоставить ссылку на хороший учебник.
Редактировать: Статья Википедии по этому вопросу на самом деле довольно хороша.
Комментарии:
1. Спасибо Питеру за информацию. Изложенные вами шаги помогли прояснить ситуацию, и я продолжу и подробнее ознакомлюсь с точным процессом.