Один Laravel OAuth-сервер для нескольких Laravel проектов - PullRequest
0 голосов
/ 26 марта 2020

Существует четыре проекта Laravel 7, проект А будет использовать проект Б для некоторых маршрутов. Конечно, проект B должен проверить, аутентифицирован ли запрос или нет. Таким образом, необходимо иметь специфицированный c сервер аутентификации для этой аутентификации всех 4 проектов.

Есть идея или реализация этого шаблона?

1 Ответ

0 голосов
/ 26 марта 2020

Это вопрос, основанный на мнениях, но то, что вы описываете, похоже на микросервис или распределенную архитектуру для ваших проектов.

Если вам нужна возможность иметь один логин или одну точку для авторизации всех из этих проектов одна служба OAuth звучит как верный путь к go.

В настоящее время я работаю над 12+ проектами, которые все взаимосвязаны, основаны на Laravel микросервисах. Мы используем один Laravel сервис OAuth для обработки входов во все проекты.

Для входа в проект А вам необходимо войти в службу входа для входа и перенаправить обратно. Для API или межмашинной связи мы все еще используем сервис входа в систему. Для этого мы настраиваем клиента персонального доступа внутри службы входа в систему, а затем создаем учетные записи пользователей для проектов. Затем мы генерируем личный токен доступа для каждого проекта. Когда Проект A делает запрос API к Проекту B, Проект B берет токен аутентификации и проверяет его действительность по отношению к сервису Вход в систему, вызывая конечную точку API / пользователя.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...