Несколько приложений Войти из одного приложения - PullRequest
0 голосов
/ 31 марта 2020

ОПИСАНИЕ: Создано централизованное приложение входа в систему на express узле, на котором есть страницы html и css, где пользователь может ввести свой адрес электронной почты и пароль и пройти аутентификацию.

Теперь приложение входа в систему (допустим, оно размещено на www.login.com) должно аутентифицировать пользователя, приходящего из любого приложения (например, 123.com, 456.com и c, которое связано с другим приложением, но с той же аутентификацией входа в систему).

Здесь модуль входа в систему не знает, с какого URL пришел запрос. Например, один пользователь набрал 123.com, он проверяет действительный токен jwt, и если он не находит действительный токен или токен удален, мы перенаправляем его на компонент входа, который находится по другому URL-адресу, как упомянуто выше.

Чтобы решить эту проблему, я создал URL обратного вызова. Поэтому, когда любой пользователь заходит в приложение для входа, он узнает, откуда поступил запрос. Например, если запрос: www.login.com/login?callbackurl=http://123.com. и затем он переносит его на страницу входа в приложение входа в систему, здесь я использую этот параметр запроса из URL обратного вызова и сохраняю информацию URL перенаправления в глобальной переменной. Теперь пользователь вводит свое имя пользователя и пароль, входит в систему и перенаправляется на URL перенаправления, который мы сохранили в глобальной переменной.

Проблема: Если, например, пользователь пришел из www.login.com/login?callbackurl=http://123.com и после этого пользователь 2 приходит от www.login.com/login?callbackurl=http://456.com. Теперь они оба находятся на одной странице входа в систему www.login.com. Здесь глобальная переменная теперь имеет значение http://456.com, так как пользователь 2 опоздал и изменил значение. Здесь, если первый пользователь входит в систему первым, он будет перенаправлен на http://456.com.

Пожалуйста, предложите способ справиться с этим. Я подумал, что один из способов - создать куки, когда кто-нибудь придет с 123.com. Поваром ie будет, например, url = 123.com

, и на странице входа в систему мы используем этот повар ie для перенаправления вместо отправки URL-адреса в параметрах запроса и перенаправления, но здесь, если открывается один пользователь несколько браузеров и из другого приложения, мне нужно создать несколько файлов cookie, а затем определить, какой повар ie использовать для перенаправления.

Любая помощь приветствуется. Заранее спасибо.

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