Может ли aws-усиление поддерживать несколько одновременных входов в систему, которые можно переключать между собой? - PullRequest
0 голосов
/ 30 октября 2018

Сегодня существует множество приложений, например семейство приложений G Suite, которые обеспечивают быстрое «переключение идентификаторов» среди федеративных идентификаторов, в которые ранее был выполнен вход.

Как выглядит приложение G Suite для быстрого переключения между ранее аутентифицированными удостоверениями.

Есть ли поддержка в библиотеке авторизации aws-ampify для манипулирования несколькими одновременными входами в систему? То есть, могу ли я войти в систему как пользователь A, затем войти в систему как пользователь B, а затем включить переключатель, который позволяет мне быстро переключаться между сеансами пользователей A и B? Кажется, в документации указывается, что он поддерживает один сеанс входа в систему за раз, и для аутентификации Пользователя B необходимо будет выйти из системы пользователя A, требуя повторного ввода пароля при каждой попытке быстрого переключения.

1 Ответ

0 голосов
/ 31 октября 2018

Ответ вроде .

aws-усиление работает из локального хранилища, и если вы осмотрите локальное хранилище, вы увидите что-то вроде этого:

CognitoIdentityServiceProvider.abcdef.LastAuthUser: email.of.logged.in@whatever.com
CognitoIdentityServiceProvider.abcdef.email.of.logged.in@whatever.com.accessToken: ...
CognitoIdentityServiceProvider.abcdef.email.of.another.logged.in@whatever.com.accessToken: ...

(нет, это скопировано из настройки Cognito, но аналогичное сохраняется для других подходов аутентификации).

Это означает, что, переключая ключ CognitoIdentityServiceProvider.abcdef.LastAuthUser и обновляя его, вы можете вызвать обмен пользователем. Если вы используете метод аутентификации на основе JWT (например, Cognito), пока токен обновления все еще действует, пользователю не будет предложено снова войти в систему после переключения.

Похоже, что это не поддерживается API, поэтому стоит иметь в виду, что это эффективно эксплойт, и вы должны принять меры, чтобы в случае прекращения работы этого подхода вы узнали об этом раньше, чем ваши пользователи. делать! ( горит. тестирование.)

...