Я думаю, проверка подлинности не будет большой проблемой, существуют очень надежные облачные решения для хранения идентификаторов и проверки подлинности миллионов пользователей. Авторизация будет сложнее и будет во многом зависеть от того, насколько детализированной вы хотите ее получить. Вы можете рассматривать Apigee, например, как очень масштабируемый прокси, который может помочь вам реализовать это. Так что добраться до точки, где у вас есть токен, с помощью которого вы можете проверить личность пользователя и который может содержать некоторые области, будет не сложно. Если вам этого достаточно, я бы просто посмотрел на Auth.0, Okta и собственное решение IDM для любой облачной платформы, которую вы используете (Cognito, Cloud Identity и т. Д. c.).
Думаю, вы обнаружит, что дополнительные функции идут с очень высокой ценой. Таким образом, Auth.0 намного превосходит Cognito, но Cognito по-прежнему имеет достаточно функций для базовых c сценариев использования и в конечном итоге будет стоить небольшую часть Auth.0 при больших развертываниях. Так что все имеет свои плюсы и минусы. Если у вас очень сложные требования, такие как набор больших устаревших репозиториев, которые вам нужно интегрировать, тогда такие продукты, как Auth.0, быстро начинают выглядеть более привлекательными.
Лично я бы посмотрел на Auth.0, Cognito и Apigee и мое решение будет во многом зависеть от параметров, которые вы не упомянули в своем вопросе. Очевидно, что это все решения SaaS, которые, я думаю, вам обязательно стоит использовать в любом случае. Я бы не стал проводить это сам, если бы у меня не было другого выбора, и использование этого маршрута радикально ограничит ваш выбор и, вероятно, увеличит расходы. Все самое интересное происходит в облаке.