Я создаю веб-приложение, которое предоставляет API в качестве основной функции. Я искал методы для аутентификации, но изо всех сил пытался принять решение о том, что использовать.
Поскольку это будет платная услуга, а API - это услуга, мне нужно сделать ее максимально простой в использовании, чтобы не отталкивать людей, но, очевидно, я хочу, чтобы она была безопасной. Я рассмотрел возможность использования базовой аутентификации HTTP через SSL, но хотел бы избежать затрат / накладных расходов / хлопот SSL, если это возможно, на ранних этапах и, возможно, предоставить их в качестве опции позже.
Мне нравится аутентификация API в стиле AWS (см. здесь ), но проблема в том, что пользователи не могут отправлять строку запроса в виде простого текста вместе с подписью, поскольку параметры могут содержать такие вещи, как номера телефонов который я думаю, что клиенты предпочли бы не выставлять. Я думал о предоставлении секретного ключа для шифрования строки, который отправляется вместе с ключом API для идентификации пользователя.
Как вы думаете, что лучше всего также шифровать строку запроса вместе с запросом, сохраняя при этом простоту?