Делаю приложение и в первую очередь разрабатываю API. Остановился на авторизации. Как правильно сделать ее безопасной?
В моем понимании сейчас это выглядит так:
1. Обращаемся к методу с логином и паролем (/auth/login/?email=mail@example.com&password=123456)
2. Сервер проверяет данные и в случае успеха генерирует и отдает token, который записывается в cookies.
3. С этим token-ом в дальнейшем обращаемся к другим методам API.
Ну в общем все... Но выглядит это все как то не очень безопасно. Всего лишь достаточно узнать этот token и можно пользоваться чужим аккаунтам.
Для повышения безопасности можно при выдаче токена запоминать какие-то параметры подключения (user agent. ip адрес) и проверять их. Выдавать токен на ограниченное время. Как подсказали выше - SSL очень желателен.