Всплывающее окно входа в Android SSO - PullRequest
0 голосов
/ 12 июня 2011

Мне нужно запрограммировать приложение Android, которое интегрируется с веб-системой, которая имеет SSO (Single Sign On) аутентификацию.Система откроет веб-страницу, которая запрашивает имя пользователя и пароль, если вход в систему успешен, тогда она устанавливает (основанный на памяти) cookie с зашифрованным идентификатором сеанса, затем всплывающее окно «убивает» себя с окном javascript.вызов функции close ().На самом деле все стандартные вещи, я написал приложения VBA для Excel на Windows, которые прекрасно работают с этой системой - пользователь хочет войти в систему, сервер SSO откроет окно IE, пользователь предоставит свои учетные данные, и окно исчезнет, ​​после чегопри интеграции из Excel в удаленную систему работает, потому что создан файл cookie сеанса.

Я пытался сделать то же самое с приложением Android.Я позвонил на страницу входа в систему единого входа с помощью вызова WebView, он отлично отображался, и я вошел в систему, ожидая, что всплывающая страница входа исчезнет и мое приложение Android продолжит работу.Однако моя проблема заключается в том, что в Android вызов javascript для windows.close () фактически игнорируется, все, что он делает, это очищает экран и оставляет его показным.Это нормально, мне все равно, если окно все еще существует, пока мой cookie создан, и пользователь может легко вернуться к моему приложению.Итак, вот мой вопрос:

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

Я много читал и экспериментировал, но достиг кирпичной стены.

Спасибо,

Стив

1 Ответ

0 голосов
/ 12 июня 2011

Может быть, вы уже знаете это, но по умолчанию JavaScript отключен в виджетах WebView.Если вы хотите включить JavaScript, вызовите getSettings().setJavaScriptEnabled(true) в экземпляре WebView, чтобы включить JavaScript.Я написал твиттер-клиент, и они используют OAuth для аутентификации.После входа в систему они просто перенаправляют браузер на предоставленную вами страницу и могут зарегистрировать действие для этого действия.В вашем случае, если они просто закроют окно, возможно, будет показана предыдущая активность из стека.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...