2016-10-11 3 views
1

Я интегрирую блокировку Auth0 как часть процесса входа в систему своего приложения, чтобы придерживаться веб-реализации входа Auth0.Android Auth0 Lock Clear Cache

Я следил за указаниями в README.md репозитория Lock (Android), и я могу войти в систему без проблем.

Проблема, с которой я сталкиваюсь, заключается в том, что я не могу указать Auth0 или Lock, что я зарегистрировал мой пользователь, поэтому мне больше никогда не предлагается выбрать учетную запись, в которую я хочу войти, -авторизоваться. В настоящее время я храню информацию о сеансе в SharedPreferences, а моя текущая процедура выхода - очистить эти данные. Я могу вернуться к пользовательскому интерфейсу экрана входа в систему, но как только я коснусь значка Google для входа в систему через Google, Auth0 проверяет подлинность моего ранее зарегистрированного пользователя, не запрашивая меня, чтобы он вводил мои учетные данные.

Есть ли официальный способ очистить кеш с помощью блокировки Auth0?

ответ

0

Я бы порекомендовал вас следовать руководству Android Quickstart, а именно о части session handling, где описывается один из возможных способов сохранения пользовательского сеанса после входа в систему.

Последний раздел части обработки сеанса - это вопрос о том, как добиться выхода из системы. Предоставленный пример кода является следующее:

private void logout() { 
    // Clear credentials (depends on how you store them in the first place) 
    setUserCredentials(null); 

    // Navigate to Lock login screen 
    startActivity(new Intent(this, LoginActivity.class)); 
} 

Имейте в виду, что setUserCredentials является специфическим для конкретного образца, общая идея будет то, что вы будете хранить полученные маркеры где-то, а затем предоставить пользователю возможность выйти из системы , который запускает очистку токенов и перенаправление на экран входа в систему.

+0

Я следил за руководством по быстрому старту и загружал образец, который вы описываете. Я обнаружил, что вызов метода setUserCredentials (null); 'метода' CredentialsManager' только очищает учетные данные из «SharedPreferences» приложения. Похоже, что ни библиотеки Auth0, ни Lock не ссылались на эти общие настройки. Даже когда-либо я очищал учетные данные таким образом, который вы предлагали, я все еще не мог выбрать, какую учетную запись Google, которую я хотел зарегистрировать, в следующий раз, когда я попытался войти в систему. – adamacdo

+0

У меня недостаточно знаний по Android SDK, чтобы предоставить что-либо иное, кроме догадок, но в своем обновлении вы упомянули, что можете попасть на экран входа в систему, но после выбора Google вы автоматически заходите в систему. Есть ли шанс что это может быть специфично для Google, потому что, когда вы выберете Google Social Lock, вы просто делегируете аутентификацию Google. Попробуйте использовать другой тип аутентификации (имя пользователя/пароль) только для устранения неполадок. –

+0

João Angelo, у нас нет настройки аутентификации имени пользователя и пароля с использованием учетной записи, мы используем только социальные учетные записи. С учетом сказанного я попытался войти в систему с учетной записью FB вместо учетной записи Google и увидел ту же проблему. Я смог очистить кеш веб-кэша, который очистил файлы cookie для веб-просмотров в приложении, и это помогло ему на устройствах Lollipop +, но у меня есть устройство, работающее с KitKat, которое после входа в систему никогда не дает возможности входа в систему с другой учетной записью , или подтвердить учетные данные для этой учетной записи. При входе в систему он просто автоматически записывает их. – adamacdo