254еместо
uLogin - виджет авторизации через социальные сети « все идеи проекта

2

голоса

Авторизация из встроенных браузеров приложений Facebook и ВКонтакте

Так как официальные приложения соцсетей имеют встроенный браузер то при клике на пошер проекта файсбук не перебрасывая в сафари открывает ссылку не выходя из мобильного приложения - при клике в нем на виджет uLogin открывается окно с авторизацией (попапов там нет как в мобильном хроме) воодим свои данные появляется надпись "Это окно браузера закончило свою работу и может быть закрыто"

Давайте починим это) Насколько я понимаю это сообщение попапа юлогина, если редиректить из него пользователя обратно (пускай с задержкой в секунду) то в том же сафари оно и так закроется а офф приложениях соцсетей пользователя отредиректит дальше на странцу проекта где так же будут переданы ulogin token и callback как недавно Вы реализовали это в мобильном хроме) Ну или возможно есть какой то другой вариант

Проблема прям насущная так как пользователи делятся страницами сайта в соцсетях - друзья переходят а залогиниться не могут ((

Dmitry Arkhipov, 19.08.2015, 00:25
Статус идеи: ожидает рассмотрения

Комментарии

Иван Пшеницын, 19.08.2015, 11:40
Здравствуйте.
Да, интересная ситуация, не обращали на нее внимание. Проверим. Вы правы, вероятно получится решить таким же способом, как с хромом под iOS. Постараюсь сегодня отписать с результатом.
Dmitry Arkhipov, 19.08.2015, 18:20
Супер, спасибо
Иван Пшеницын, 19.08.2015, 19:49
Исправили, проверили, теперь работает правильно.
Только вот кеш приложения фейса уж больно живучий) Кроме как переустановкой приложения почистить его не удалось. Т.е. если вы совсем недавно авторизовывались в приле через юлогин, то большая вероятность, что сразу вы изменений не заметите. В лучшем случае кеш наших скриптов обновится через несколько часов, в худшем - несколько дней.
Спасибо, что обратили наше внимание на эту проблему. Интересная, актуальная, но без вас мы бы ее еще долго не заметили.
Dmitry Arkhipov, 20.08.2015, 20:01
Изменений пока не замечено - в приложении Вконтакте внопки виджета инициализируются, но такое ощущение что не нажимаются (http://digital.nahab.info/aerovadim/test/ulogin.html)

iPad - официальное приложение вконтакте
Иван Пшеницын, 20.08.2015, 20:43
Жутко извиняюсь. Вчера исправили только работу с приложением фейсбука. Вконтакт как-то я даже не заметил (
Сейчас исправили поведение во вконтакте аналогично фейсовскому. Работает. Только с кешем та же беда, как и у фейса.

А вот насчет кнопок, которые не нажимаются - не понял. Кнопки на нашем сайте в приложении vk полностью рабочие, как и на других сайтах (специально проверил парочку). А вашу тестовую страницу, извините, не знаю, как открыть в приложении vk.
Dmitry Arkhipov, 21.08.2015, 13:57
Я просто пощу ее на стену или в комментах и открываю из приложения (жаль что в ВК нельзя задать область видимости поста)

И так, на данный момент проверил два варианта работы виджета (Calback всегда был указан)
1) С прописанным redirect_uri (Все браузеры проводят авторизацию в попапе и все ок, мобильный хром берет redirect_uri и уже к нему дописывает ulogin_callback и ulogin_token - мне нравиться этот принцип работы, но есть один баг о котором я опишу ниже)
2) Без redirect_uri (Все браузеры ок, мобильный хром берет текущий урл и работает с ним, баг так же присутствует)

Сам баг; если в урле есть хеш (#) то костыль перестает работать

Например урл или redirect_url:
1) domen.ru#/angular/path - мобильный хром вернется на domen.ru#/angular/path?ulogin_callback..
2) domen.ru?query#/angular/path - мобильный хром вернется на domen.ru#/angular/path&ulogin_callback..

Насчет соцсетей (Фейсбук воркает как хром - с простыми урлами все ок стало, на урлах с хеем тот же баг)
!! Вконтакте как не работал так и не работает (Проверялось в официальном приложении вконтакте на iPad) При нажатии на кнопки соцсетей (а они видны значит виджет инициальзируется) ничего не происходит (видимо виджет пытается открыть попап которые в вк не работают)

Мейби поможет в исправлении (не знаю правда где именно у Вас поисходит разбор урла если на клиенте то:

var a = document.createElement('a'); a.href = window.location.href // или decodeURIComponent(redirect_uri)
//После чего можно отдельно проверить все части урла
a.hash
a.search
a.pathname
a.host
a.protocol

Пожалуйста учтите тот факт что приложения на том же ангуляре (одностраничники) активно работают с хешом и очень желательно сохранять его в исходном виде при возврате, ну и когда происходит возврат и дописываются ulogin_callback и ulogin_token в урл (чтобы они не задвоились если вдруг они в нем уже есть)

Постарался максимально полно описать все, в целом видежт отличный, риспект!)
Иван Пшеницын, 21.08.2015, 14:33
Приятно общаться с разработчиком вашего уровня, спасибо за такой детальный фидбек.

Поправьте меня, если я что-то упускаю:
в целом я выделил одну основную проблему - мы не учитываем хеш. Исправить ее понятно как, несколько строк кода в нужном месте. Разумеется, будем оставлять его в первозданном виде. Сегодня ближе к вечеру исправим.

Вторая, менее понятная проблема - нерабочий виджет в вк. Я проверял не на iPad, но на айфоне, работает отлично. Сомневаюсь, что дело в устройстве. Поведение в приле вк аналогично приложению фейсбука - при клике по ссылке на стене открывается вебвью в котором продолжается работа. У вас не открывается вообще. Вы уверены, что дело там не в косяке верстки? Может какой-то элемент перекрывает кнопки? Попробую сейчас разобраться...
Dmitry Arkhipov, 21.08.2015, 14:48
Первая да - все верно
Вторая - да, в вебвью открывается страница (http://digital.nahab.info/aerovadim/test/ulogin.html) на которой виджет в нескольких вариантах (с редиректом и без - для проверки)
нет, на странице вообще нет сторонних еэелементов ктоме виджетов) ну и видно что ховер у кнопок работает но сами кнопки мертвые

В хроме, фейсбуке, других браузерах все работает, в ВК после клика ничего не происходит (так же проверялось с параметром mobilebuttons=1 в последнем виджете) - все браузеры открывают юлоиновский попап с выбором, в ВК тишина
Иван Пшеницын, 21.08.2015, 14:53
Ок, все понял. Будет проверять.
А вот вместо mobilebuttons=1 лучше попробовать mobilebuttons=0. Как раз может быть в мобильном варианте дело, стоит попробовать его отключить.
Dmitry Arkhipov, 21.08.2015, 14:55
Дада - проверялось в обоих вариантах
Dmitry Arkhipov, 21.08.2015, 14:58
Под айфоном работает - только что проверили! С обоих айпадов нет
Иван Пшеницын, 21.08.2015, 15:00
О уже что-то! Значит будем iPad мучить.
Иван Пшеницын, 21.08.2015, 20:26
Проблему с хешем решили, проверьте пожалуйста. Теперь хеш сохраняется, а колбек с токеном занимают свое нормальное место среди параметров.
Возможно вылезут какие-то баги при нестандартных урлах. Хотя мы постарались протестить самые разнообразные варианты. Если что - пишите, поправим.

По прилу вк - пока результатов нет, извините. Наш местный айпад, к сожалению, как оказалось не поддерживает VK (устарела версия iOS). Другой найдем позже. Обязательно отпишу, когда найдем проблему. Но уже в начале следующей недели.
Dmitry Arkhipov, 24.08.2015, 13:51
Иван - с хешем проблему пока так и наблюдаем, возможно кеш конечно но урлы пока составляются по прежнему в мобильном хроме на урлах с хешем

Иван, а теперь в обычном сафари в iphone 6 plus не работает авторизация, какая то беда прям, кнопки просто видны но не работают (симптомы как в ВК)

Есть ли какие либо иные методы авторизации с ulogin? Мы можем сейчас какие либо прямые урлы сделать ведущие на ulogin которые потом вернут пользователя по указанному редиректу, дабы обойти вот эту реакцию виджета на клики (такое ощущение что обработчик событий у виджета не работает, у на скрупный проект и это прям беда ;(
Иван Пшеницын, 24.08.2015, 13:54
Ссылку на реальную страницу, где не работают кнопки, дайте пожалуйста.
Иван Пшеницын, 24.08.2015, 13:56
В хроме мобильном кеш можно почистить, в отличии от прила вконтакта. Попробуйте кеш очистить и проверьте еще раз. И опять же - пример урла кривого дайте, я же говорил что возможно мы что-то упустили, поэтому лучше сразу с примерами.
Dmitry Arkhipov, 24.08.2015, 14:06
Кеш почистили, да - проблема наблюдается в любом виде инициализации

iPad, мобильный хром, ссылка
http://digital.nahab.info/aerovadim/test/ulogin.html#hash
Кнопки "Без редиректа + Callback" например приводят пользователя как и раньше на domen.ru#/angular/path?ulogin_callback..

А вот по такому урлу http://digital.nahab.info/aerovadim/test/ulogin.html уже все ок
---

А по второму вопросу есть какие либо альтернативные пути? Повторю - Сейчас виджет с любым видом инициализации не работает в обычном сафари под iphone 6 plus - кнопки видны но не нажимаются
Иван Пшеницын, 24.08.2015, 14:11
Нет конечно, без виджета авторизации не получится.
Но вы тратите время, я попросил у вас ссылку на нерабочую страницу.
Dmitry Arkhipov, 24.08.2015, 14:13
Комментарий удален администратором
Иван Пшеницын, 24.08.2015, 14:51
Нашли проблему, исправили. У сафари с кешем дела хорошо обстоят, сразу подхватилось исправление.
На удивление, ошибка оказалась не связана с нашими последними правками скрипта. Вероятно, последнее обновление сафари принесло сюрпризы...

С хешами сейчас будем проверять, в чем дело.
Dmitry Arkhipov, 24.08.2015, 15:05
У нас под iPhone 6 plus сейчас ни в хроме ни в сафари не работает к сожалению ;( И кеш чистили и пробывали скипт ulogin подключать с параметрами http://ulogin.ru/js/ulogin.js?1.4.42 - кнопки видны но не нажимаются
Иван Пшеницын, 24.08.2015, 15:12
Я чуть поспешил с ответом, залили измерения примерно через 7 минут. Сейчас все еще не работает? Должно.... Мы нашли проблему, исправили, у нас на устройствах заработало сразу.
Dmitry Arkhipov, 24.08.2015, 15:16
Иван, спасибо, да - проблема больше не наблюдается (проверили на нескольких устройствах)
Иван Пшеницын, 24.08.2015, 15:02
А теперь ситуацию с хешами проверьте, пожалуйста. Кеш можно не чистить, изменения на бекенде.
Dmitry Arkhipov, 24.08.2015, 15:12
Подтверждаем, сейчас на урлах с хешем все ок, авторизация проходит, хеш сохраняется
Но раньше урл сам подчищался от ulogin_callback и ulogin_token сейчас онисохраняются в урле
Иван Пшеницын, 24.08.2015, 17:32
Мы убрали эту функцию. Для мобилок она, все же, не сильно актуальна (адреса, зачастую, не видно). А вот некоторые проблемы появляются: работает не везде (нужна поддержка history API браузера) и некоторые задачи усложняются...
Но сейчас вернули. В течении 5ти минут обновим файлы.

Оставить комментарий