Ответ вроде .
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, поэтому стоит иметь в виду, что это эффективно эксплойт, и вы должны принять меры, чтобы в случае прекращения работы этого подхода вы узнали об этом раньше, чем ваши пользователи. делать! ( горит. тестирование.)