Доброе утро!
Делаю на сайте авторизацию через ВК, и столкнулся с таким моментом. Авторизация возможна двумя путями:
1) Заставить пользователя перейти в ВК по ссылке, и редиректнуться обратно. После чего код с которым редиректнулся пользователь, проверить через сервер, отправив запрос к VK API со стороны сайта.
2) Подключить JS ВК либу, и ей перенаправить пользователя, чтобы он вернул expire, mid, secret, sid, sig. После чего проверить sig через сервер.
Первый случай плох тем, что прийдется делать запрос к другому сайту, через сервер (да для Node.js это не проблема, но все же). + возможно это анонимус головного мозга, но меня смущает, отправлять запросы с своего сайта в вк, с явным указанием secret в get запросе.
Второй - нужно подключить отдельную js либу, а это всегда мало приятного.
Какой способ лучше выбрать?
P.S. Если тут сидят ребята из отдела разработки ВК, знайте ваша документация написана пяткой, в ней много устаревшей информации, расхождения в разных доках на один и тот же метод, недокументированные функции, ошибки в именовании переменных, и частые косяки в самих ответах.
ACCNCC: не совсем так. В этом случае пользователь просто тупит в белый экран 20 секунд. А это неприемлимо. В случае с JS либой, мы можем хоть что-то показать.
Нашел это обсуждение, интересно
1-й способ "Заставить пользователя перейти в ВК по ссылке, и редиректнуться обратно" - редиректнуться обратно тоже нужно заставить? То есть в вк он должен увидеть что-то вроде "нажмите сюда, чтобы вернуться обратно"? А если он там увидит еще что-то интересное справа или слева и забудет про вас?
2. Что собственно хотел спросить - поставил на сайте второй способ - кнопка с вызовом onclick="VK.Auth.login(authInfo);"
на телефоне человек обычно авторизован в вк на мобильном клиенте, а не в браузере. А нажатие этой кнопки ведет именно в браузер, на окно с предложением ввести в него имя и пароль от вк. Это очень неудобно, как это обойти - чтобы не заставлять пользователя нигде вводить никаких паролей?
Может есть способ 3 ?