tamtakoe
@tamtakoe

Стоит ли выносить сервер авторизации за рамки приложения?

Сама идея имеет много плюсов. Появляется отдельный сервер авторизации, занимающийся тем, что выдает и проверяет токены. Код оказывается разделенный. Его можно перенести на отдельную машину. Запросы к серверу осуществляются по http.

Минус в производительности. Т. к. на каждый запрос нужно проверять токен доступа на валидность, то вместо прямого запроса к БД (реддису, например) придется делать http-запрос к серверу авторизации (а он уже сам будет искать в базе). Насколько это замедлит работу и как ускорить доступ, учитывая, что канал между сервером приложения и сервером авторизации быстрый (на одной машине находятся или в одно стойке)? Может быть не http а что-то более быстрое использовать?
  • Вопрос задан
  • 3554 просмотра
Пригласить эксперта
Ответы на вопрос 2
StrangeAttractor
@StrangeAttractor
Сама идея имеет много плюсов...

Вот именно, всё правильно описали. Чем модульнее, чем распределённее, и чем чище схема взаимодействия между модулями - тем лучше.

Минус в производительности

Зависит от архитектуры, может быть и плюс.

Может быть не http а что-то более быстрое использовать?

Попробуйте. Можно попробовать чистый TCP, почему бы и нет...
Ответ написан
Комментировать
@TokiTori
Автор, вас спасёт технология JWT. Внутри токена можно передать необходимые данные. Токен можно подписать двумя способами:
1. HMAC - одна и та же секретная фраза для подписи и для проверки подписи на сервере авторизации и сервере приложения
2. RSA - сервер авторизации подписывает данные закрытым ключом, а сервер приложения проверяет корректность подписи открытым ключом
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы