Примеры все под NDA, к сожалению, но я себе это так представляю:
При успешной аутентификации через какой-либо кошелёк — кладёшь название кошелька в сессионное хранилище
При неуспешной аутентификации — очищаешь название
При запуске приложения, проверяешь есть ли в сессионном хранилище кошелёк: если есть, то переподключаешь, если нет — забиваешь.
Если при переподключении пользователь не ввёл пароль или закрыл расширение — срабатывает пункт два и чел остаётся неаутентифицированным.
Параллельно с этим ты можешь показывать публичную инфу или крутить лоадер, дожидаясь аутентификации или её ошибки