Централизованная аутентификация для разных приложений под разными поддоменами.

У меня есть два приложения, работающие в одном базовом домене.

docs.application.com идет к документации, и это написано с помощью PHP (Grav CMS).

www.appliation.com идет в мое приложение, которое написано с Node и React.

В Grav CMS есть подключаемый модуль Google oauth, и мое приложение также использует Google oauth для входа в систему.

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

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

Какие-нибудь мысли?

0

Решение

Вы пометили этот вопрос OAuth2, поэтому я говорю об этом.

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

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

В любом используемом вами инструменте единого входа ваше приложение станет вашим «поставщиком услуг», а приложение sso станет вашим «поставщиком удостоверений». Ты можешь использовать шибболет тоже в этом отношении.

Если вы используете OAuth2, то единственной вещью, которой вам придется управлять на стороне клиента, является токен.
Пока Шибболет делает это для тебя. Shibboleth также выступает в качестве сервера авторизации. Вы можете настроить его таким образом, чтобы все два приложения были недоступны, если у пользователя нет активного сеанса в приложении единого входа.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]