Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]: User returns to auth activity without auth #51

Open
AndreyFetisov opened this issue Feb 16, 2025 · 7 comments
Open

[BUG]: User returns to auth activity without auth #51

AndreyFetisov opened this issue Feb 16, 2025 · 7 comments
Labels
bug Something isn't working

Comments

@AndreyFetisov
Copy link

Опишите баг

У некоторых пользователей не получается войти с использованием VKID. Возвращается ошибка "User returns to auth activity without auth". В чем может быть причина этой ошибки?

Вопроизведение

Нажать на кнопку "onetap"

Ожидаемое поведение

Приложение должно получить данные о пользователе выполнившим вход.

Фактическое поведение

Возвращается ошибка "User returns to auth activity without auth"

Используемые модули и их версии

implementation("com.vk.id:vkid:2.2.2")
implementation("com.vk.id:onetap-xml:2.2.2")

Скриншоты

No response

Смартфон или эмулятор

Воспроизводится на разных версиях

Внутренний или внешний сервис

Нет

Обновляли ли вы сдк

Да

Исправлена ли ошибка

Нет

Где инициализиурете SDK

В Application

Версия клиента авторизации

2.2.2

Дополнительные заметки

No response

@AndreyFetisov AndreyFetisov added the bug Something isn't working label Feb 16, 2025
@diklimchuk
Copy link
Contributor

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

@AndreyFetisov
Copy link
Author

Добрый день, Вы уверены, что это связано со смертью процесса? Пользователь прислал видео, на котором видно, что активити с кнопкой остается открытой и приложение выдает в Toast сообщение об ошибке, которое приходит в onFail.
Со второго раза у него тоже не работает, но появляется captcha после нескольких неудачных попыток. Если нужно могу выслать видео.

@diklimchuk
Copy link
Contributor

Пока что это единственное объяснение. Пришлите, пожалуйста, видео, возможно смогу сказать больше

@AndreyFetisov
Copy link
Author

AndreyFetisov commented Feb 18, 2025

Пока что это единственное объяснение. Пришлите, пожалуйста, видео, возможно смогу сказать больше

Вот видео: https://youtu.be/PwS6GK-wTMI

@diklimchuk
Copy link
Contributor

Вот видео: https://youtu.be/PwS6GK-wTMI

Дело точно не в смерти процесса, не грузится авторизация в клиенте вк. Передам этот вопрос команде, которая занимается авторизацией в вк. В качестве временного решения можете оставить только авторизацию через вебвеью с помощью передачи prompt=Prompt.Login в authParams

@AndreyFetisov
Copy link
Author

В качестве временного решения можете оставить только авторизацию через вебвеью с помощью передачи prompt=Prompt.Login в authParams

Спасибо! Могу я на onFail передать эти параметры, чтобы со второй попытки вход выполнялся через вебвеью ?

Не понимаю, как передать prompt=Prompt.Login в authParams

vkSignInButton.setCallbacks(

        onAuth = { oAuth, token ->
        },

        onFail = { oAuth, fail ->

            vkSignInButton.authParams = VKIDAuthUiParams {
                // Как  передать prompt=Prompt.Login ?
            }
        }

)

Здесь же нет prompt
public fun build(): VKIDAuthUiParams = VKIDAuthUiParams(
state = state,
codeChallenge = codeChallenge,
scopes = scopes,
)

@diklimchuk
Copy link
Contributor

diklimchuk commented Feb 20, 2025

Не понимаю, как передать prompt=Prompt.Login в authParams

Понял, у вас используется OneTap, а prompt есть только для кастомной кнопки (метод authorize). Обсудим возможность добавления этого параметра в том числе и в OneTap. Прямо сейчас можно попробовать в onFail переопределить клики на кнопку (если не будет работать переопределение на OneTap, то добавить вью поверх него и обрабатывать клики на нее). А по клику запускать authorize с prompt=Prompt.LOGIN

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants