OpenID на мобильном / мобильном телефоне
Я пытаюсь настроить аутентификацию OpenID на моей мобильной версии сайта (ASP.net MVC, dotnetopenid). Когда я тестировал его ранее (с помощью WAP-интернета, Sony Ericsson w200i), он перенаправлялся к провайдеру, но начался очень медленно, а затем потерпел неудачу из-за слишком большой страницы.
Кто-нибудь знает хороший способ реализовать OpenID для пользователей WAP с медленным соединением? Какие-нибудь провайдеры предоставляют специализированную мобильную страницу?
Если OpenID сложно реализовать на телефоне, есть ли альтернативы, кроме имени пользователя и пароля?
3 ответа
Есть несколько проблем, которые могут возникнуть на мобильном телефоне:
Размер запроса: иногда OpenID может нести большую полезную нагрузку. Это может означать большой HTTP GET URL или POST. Помимо медленного перенаправления, если RP или OP плохо реализуют OpenID, это может привести к тому, что браузер фактически прервет запрос, что приведет к прерыванию работы пользователя. (DotNetOpenId/DotNetOpenAuth осторожен с размерами запросов и переходом между GET и POST по мере необходимости). Чтобы снизить этот риск и ускорить процесс, используйте только те расширения OpenID, которые вам нужны, и запрашивайте только те атрибуты, которые вам абсолютно необходимы.
Неполная поддержка Javascript: некоторые RP и OP полагаются на поддержку Javascript в браузере для помощи в перенаправлении (особенно при использовании POST). Некоторые телефоны не поддерживают (достаточно) Javascript, и это опять-таки нарушит пользовательский опыт. Большинство сайтов и библиотек (включая DotNetOpenAuth) снижают этот риск, отображая кнопку "Продолжить", которую пользователь может щелкнуть, если Javascript не работает.
Кроме этого, в OpenID нет ничего особенного, что могло бы заставить OpenID на телефоне не работать. Однако следует помнить одну вещь: из-за небольшого форм-фактора телефонов ввод ключа затруднен, и поэтому файлы cookie для аутентификации, вероятно, должны длиться дольше, чтобы пользователям не приходилось входить в систему (будь то с именем пользователя + паролем или OpenID) так часто. Кроме того, это их личный телефон, поэтому держать их в системе не так рискованно, как общедоступный компьютер.
Я получил это работать очень хорошо на iPhone. У меня нет других платформ тестирования, хотя.
Вы встраиваете браузер в свое приложение и используете его в своем приложении. В использовании Android WebView
, в iOS использую UIWebView
, Посмотрите видео около 47:30.