У меня есть два приложения, работающие в одном базовом домене.
docs.application.com
идет к документации, и это написано с помощью PHP (Grav CMS).
www.appliation.com
идет в мое приложение, которое написано с Node и React.
В Grav CMS есть подключаемый модуль Google oauth, и мое приложение также использует Google oauth для входа в систему.
Я хотел бы централизовать вход в систему таким образом, чтобы я мог войти в любое из приложений и автоматически войти в другое.
Я читал о Центральной службе аутентификации и междоменном входе в систему, но до сих пор не смог управлять решением.
Какие-нибудь мысли?
Вы пометили этот вопрос OAuth2, поэтому я говорю об этом.
Технически говоря, OAuth2 — это не инструмент аутентификации, а инструмент авторизации. Однако вы можете настроить его таким образом, чтобы использовать его для аутентификации.
В идеале вы должны создать другое приложение только для аутентификации, скажем, sso.example.com. Все два приложения перейдут к этому для аутентификации.
В любом используемом вами инструменте единого входа ваше приложение станет вашим «поставщиком услуг», а приложение sso станет вашим «поставщиком удостоверений». Ты можешь использовать шибболет тоже в этом отношении.
Если вы используете OAuth2, то единственной вещью, которой вам придется управлять на стороне клиента, является токен.
Пока Шибболет делает это для тебя. Shibboleth также выступает в качестве сервера авторизации. Вы можете настроить его таким образом, чтобы все два приложения были недоступны, если у пользователя нет активного сеанса в приложении единого входа.
Других решений пока нет …