Насколько распространено делать авторизацию отдельной микрослужбой и как правильно это сделать?
Есть система с разными middleware, для админов и и для клиентов. Есть middleware, который проверяет sessionKey и дальше передает в хэндлеры ID пользователей.
Хочу сделать отдельный микросервис, который будет проверять сессии и в случае успеха просто кидать на основой сервис запрос с таким-же json, а userID передавать в заголовке.
Но тут встает проблема безопасности. Единственный способ, который я вижу, обезопасить этот вариант - добавить Authorization заголовок, который будет в конфиге сервиса авторизации и в кофниге главного сервиса. И когда на главный сервис будет приходить запрос он будет его сверять. Но мне такой способ кажется не очень безопасным. Как вариант - сделать так, чтобы только сервис авторизации смотрел в интернет, а основной сервис крутился локально, тогда даже, если украдут ключ этого сервиса, напрямую доступа к нему не будет. Но тогда не получится запускать эти приложения на разных серверах.
Какие есть решения для такой задачи?