Требуемое предложение / идеи: Как обработать аутентификацию и авторизацию для Nuxeo через ASP.Net Web API Core
Я исследую Nuxeo для потенциального крупномасштабного проекта, наш выбор технологии - ASP.Net Core Web API и пользовательский интерфейс - React.
Мне нужно предложение о том, как обрабатывать часть аутентификации и авторизации.
В настоящее время я думаю, что всякий раз, когда пользователь создает учетную запись, я создаю учетную запись в нашей внешней службе аутентификации, а затем создаю новую учетную запись пользователя также на стороне Nuxeo.
Когда пользователь входит в систему, он сначала регистрируется через внешнюю службу, а затем я также регистрирую того же пользователя в nuxeo.
Поэтому, когда пользователь делает какой-либо запрос, он использует для этого собственный зарегистрированный экземпляр.
Предложение, что мне нужно
- Этот подход хорош? Имеется в виду создание новой учетной записи для каждого пользователя на стороне nuxeo? Или просто использовать администратора суперпользователя, и все запросы проходят через это?
- Если я использую подход, в котором я просто создаю экземпляр Client с пользователем Administrator Ex. новый клиент (администратор, администратор), я должен просто кэшировать этот экземпляр и использовать один и тот же экземпляр для всех запросов?
Предложения или идеи, пожалуйста!
1 ответ
Первый подход намного лучше, если вы хотите использовать управление ACL, предоставляемое nuxeo. Со вторым вам нужно будет проверить вне nuxeo, есть ли у данного пользователя доступ к определенному контенту или нет.
Второй подход - самый простой, но я предлагаю использовать первый. Способ сделать это - создать собственный плагин аутентификации в Java в nuxeo.
Этот пользовательский плагин аутентификации будет отвечать за вызов вашего решения для внешней аутентификации, проверять, прошел ли пользователь аутентификацию, и, если это так, аутентифицировать пользователя в nuxeo (или создать его, если пользователь не существует).
Ниже вы найдете несколько примеров того, как это сделать:
https://github.com/michaelgena/nuxeo-unify-sso
https://www.nuxeo.com/blog/guest-post-integrating-single-sign-sso-nuxeo-case-management/
Решение для аутентификации nuxeo является подключаемым, что означает, что вы можете добавить свой собственный механизм аутентификации, чтобы всякий раз, когда пользователь пытается подключиться к nuxeo, аутентификация проходила через ваш пользовательский плагин аутентификации.