2016-08-02 2 views
2

У меня есть экосистема продукта, состоящая из нескольких продуктов i.e: Угловое приложение, веб-сайт и гибридное приложение, все из которых основаны на конце узла.Аутентификация и авторизация в экосистеме продукта

Итак, теперь я хочу добавить единую аутентификацию и авторизацию для всей экосистемы, также она должна быть модульной и масштабируемой.

Плюс Я следую за 3-уровневой архитектурой. I: [ПРИМЕНЕНИЕ] -> [API] -> [DB], только уровень API, имеющий доступ к БД.

Теперь я также хочу, чтобы аутентификация и авторизация были еще одним приложением в экосистеме, которая может быть подключена к другим приложениям и использована без большой настройки.

Кроме того, поскольку это (модуль аутентификации и авторизации), я не хочу, чтобы он напрямую обращался к БД, я хочу, чтобы он вызывал вызовы API, и он не должен использовать сторонние схемы аутентификации, такие как auth0 ,

Важно, что ни одно из приложений, кроме модуля аутентификации и авторизации, не должно содержать в себе никакой связанной с ним логики.

В основном это должен быть модуль, чем при подключении, позволяет аутентификацию и авторизацию и легко интегрируется.

Возможно ли это установить? Если да, то как мне это сделать? Если нет, то как осуществляется аутентификация и авторизация в других таких экосистемах производственного класса?

Заранее благодарен!

ответ

0

Аутентификация определенно может считаться модулем; просто виджет с бэкэндом базы данных, который принимает учетные данные и выдает сообщения об ошибках или токены авторизации. Авторизация, однако, немного сложнее; после того как вы получили эти токены авторизации, вам нужно решить, что они означают.

Не зная о ваших приложениях, я бы сказал, что вам нужно будет создать сопоставление привилегий для учетных записей пользователей для каждого приложения. Это тривиально, если вы просто хотите ограничить доступ пользователей к контенту друг друга, но становится все сложнее, если вы хотите предоставить некоторым пользователям больше (или меньше) власти, чем другие. Если это так, я предлагаю вам использовать форму role-based access control. Вы можете найти более подробную информацию о том, как обрабатывать авторизацию here.