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