2015-12-22 4 views
1

Пожалуйста, помогите!Android. Parse.com: Недействительный токен сеанса

Короткий вопрос: Я пытаюсь войти ParseUser с маркером сеанса, как это:

ParseUser.becomeInBackground(token); 

Он всегда идет нормально на первом входе в систему. Но он всегда терпит неудачу, когда я повторяю. Я получаю ошибку «недопустимый токен сеанса». Сессия остается прежней. Любая другая информация о токене скрыта.

Детальный вопрос Я создаю приложение для родителей и детей. Предполагается, что 2 пользователя начинают приложение на своих (разных) устройствах с использованием одной учетной записи (один ParseUser для разных устройств, зарегистрированных в одно время). Сначала родительский знак на своих устройствах. Затем он генерирует QR-код с токеном сеанса.

String token = ParseUser.getCurrentUser().getSessionToken(); 
Bitmap bitmap = encodeAsBitmap(token); 
qrView.setImageBitmap(bitmap); 

устройство малыша читает этот QR и журналы в. Эта процедура проходит нормально в первый раз. Но если я выйду из устройства малыша и попробую войти в систему по QR во второй раз, он завершится неудачей с «недопустимым токеном сеанса». Он также терпит неудачу, когда я пытаюсь подключиться к устройству второго ребенка. Когда я удаляю сеанс вручную на панели синтаксического анализа, я могу снова войти в устройство для ребенка с QR, но только один раз.

Я попытался изо всех сил найти какое-либо решение здесь и в другом Интернете, но мне это не удалось.

Уважаемые разработчики уровня эксперта, помогите мне в этом вопросе.

ответ

0

Я думаю, что вы проблема связана с Parse.com теперь использует отзывные сессии маркеров см http://blog.parse.com/announcements/announcing-new-enhanced-sessions/

Другие аналогичные проблемы здесь: https://groups.google.com/forum/#!topic/parse-developers/Knxl_MBVlLY

Это означает, что маркер действителен только в течение сеанса , то есть, пока пользователь регистрируется на устройстве. Как только пользователь выходит из системы, сеанс уничтожается вместе с токеном.

Возможно, это может считаться «функцией» в вашем приложении, так как родители могут контролировать доступ своих детей к приложению. Если они выходят из системы, то и их ребенок (ren).

Если это слишком далеко от предполагаемого сценария использования, вы могли бы рассмотреть возможность добавления входа третьей стороны, такие как Auth0 или OAuth

https://auth0.com/docs/scenarios/parse

https://parse.com/tutorials/adding-third-party-authentication-to-your-web-app

+0

Спасибо! Вы совершенно правы. Причина, по которой маркер недействителен, заключается в том, что сеанс отменяется при выходе из системы. Это очень помогло мне. –

+0

Рад, что я мог помочь и на самом деле не заметил, что они позволяют отключить его, приятно знать :-) – cYrixmorten

1

Это кажется, что я понял это.

Краткий ответ: В панели инструментов Parse.com перейдите на вкладку «Настройки». На вкладке Общие перейдите в раздел «Секции пользователей». Выключить «Требовать отменяемые сеансы».

Подробная информация: С марта 2015 года Parse.com начал использовать отзывные сессии. Это означает, что когда пользователь выходит из системы или истекает сеанс, он становится бесполезным. Поэтому вы должны выйти и войти в систему, чтобы использовать свое приложение, как обычно. Это важная проблема безопасности.Но в случае, как мой, подумайте о его отключении.

Смежные вопросы