slomchinskiy 7 Опубликовано: 7 июня 2019 Рассказать Опубликовано: 7 июня 2019 Здравствуйте. Подскажите пожалуйста, как реализовать Google авторизацию через новое popup окно, а не на той же странице сайта или в новой вкладке браузера. Через window.open не работает, пишет что такой линк на редирект не указан в настройках моего Google приложения (на текущей странице авторизация работает). Использовал этот код: <body> <a href="javascript:poptastic('https://accounts.google.com/o/oauth2/auth?scope=https://www.google.com/m8/feeds&client_id=21302922996.apps.googleusercontent.com&redirect_uri=https://www.example.com/back&response_type=token');">Try out that example URL now</a> <script> function poptastic(url) { var newWindow = window.open(url, 'name', 'height=600,width=450'); if (window.focus) { newWindow.focus(); } } </script> </body> Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 7 июня 2019 Рассказать Опубликовано: 7 июня 2019 1 час назад, slomchinskiy сказал: пишет что такой линк на редирект не указан в настройках моего Google приложения (на текущей странице авторизация работает). Потому как для ссылок нужно использовать теги DLE, а не прописывать свои некорректные https://dle-news.ru/extras/online/logintpl.html в частности тег {google_url}. Для примера рекомендую изучить стандартный шаблон, там как раз всплывающие окна используются. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
slomchinskiy 7 Опубликовано: 7 июня 2019 Рассказать Опубликовано: 7 июня 2019 Автор Пример кода с интернета, естественно я использовал тег {google_url}. Спасибо за наводку, изучу. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 7 июня 2019 Рассказать Опубликовано: 7 июня 2019 Такое сообщение ото google может быть только тогда, когда URL не совпадает с тем что на сайте и как указано в настройках приложения у google. Никакие способы открытия не влияют на это. Что просто ссылка, что вкладка, что всплывающее окно, никакой разницы. Поэтому ищите несоответствие именно в ссылках. Цитата Ссылка на сообщение Поделиться на других сайтах
slomchinskiy 7 Опубликовано: 7 июня 2019 Рассказать Опубликовано: 7 июня 2019 Автор В стандартных шаблонах форма авторизации Google открывается в новой вкладке браузера: [google]<a href="{google_url}" target="_blank" class="soc_gp"><svg class="icon icon-gp"><use xlink:href="#icon-gp"/></svg></a>[/google] Задача состоит в том, чтобы открывать в новом окне браузера, с помощью window.open. Если делать через новое окно, то авторизация не работает. Вот текст ошибки. В новой вкладке авторизация работает. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 7 июня 2019 Рассказать Опубликовано: 7 июня 2019 1 час назад, slomchinskiy сказал: В стандартных шаблонах форма авторизации Google открывается в новой вкладке браузера Если бы вы поставили бы шаблон, а не просто копировали из него куски кода, то увидели бы что это не так. В стандартном шаблоне есть JS который перехватывает ссылки и открывает в всплывающем окне. Также на вашем скриншоте видно, что вы передаете не полную ссылку в приложение google. Затереть домен вы затерли, а при этом не увидели что там ссылка короче чем та что указана в приложении. Вот и смотрите почему ваш JS код не передает ссылку полностью. Цитата Ссылка на сообщение Поделиться на других сайтах
slomchinskiy 7 Опубликовано: 7 июня 2019 Рассказать Опубликовано: 7 июня 2019 Автор Я видел, что ссылка в ошибке отличается от той, которую я указал в разрешенных редиректах. Но почему она отличается, не понимаю, ибо ссылку прописываю не я, а тег {google_url}. Скрипт, который я использую, кидал в первом сообщении. Я в js не силен, но вроде, в нем нигде не обрезается эта ссылка. Подскажите пожалуйста, что я делаю не так. Понял, буду копаться в стандартном шаблоне. Спасибо. Цитата Ссылка на сообщение Поделиться на других сайтах
slomchinskiy 7 Опубликовано: 8 июня 2019 Рассказать Опубликовано: 8 июня 2019 Автор Разобрался, celsoft спасибо. Может поможет кому-то: $('.soc_links a').on('click',function(){ var href = $(this).attr('href'); var width = 820; var height = 420; var left = (screen.width - width)/2; var top = (screen.height - height)/2-100; auth_window = window.open(href, 'auth_window', "width="+width+",height="+height+",top="+top+",left="+left+"menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no"); return false; }); [group=5]<span class="soc_links"><a href="{google_url}"><div class="button-outline">АВТОРИЗАЦИЯ</div></a></span>[/group] Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.