Добрый день!
Предвидя вопрос - я знаю, что есть стандартный заголовок basic-auth, но он мне не вполне подходит т.к. имеет лимит на длину.
Есть сервис торчащий в интернет, нужно на часть rest методов навесить авторизацию. Использовать сессии не нужно, т.к. доступ state-less и должен быть только для ограниченного числа систем количеством около 10-20. Нужно сделать простую в использовании авторизацию для внешних систем и мне пришла в голову идея:
- Для каждого пользователя завести индивидуальный ключ-строку и токен
- Клиент при помощи ключа и random-соли шифрует токен с помощью AES/CBS
- Передает с каждым запросов вновь зашифрованную строку «username:salt+encrypted-token»
- На стороне принимающего сервиса отделяем соль от запроса, по username получаем ключ шифрования, дешифруем токен и проверяем его на корректность
На сколько жизнеспособной и безопасной является такая схема?