Решите проблему, заключающуюся в том, что для веб-авторизации WeChat OAuth2.0 можно установить только одно доменное имя обратного вызова.
Недавно было обнаружено, что доменное имя авторизации веб-страницы общедоступной учетной записи WeChat теперь может поддерживать настройку нескольких доменов. В настоящее время значимость существования этого проекта не так велика, как раньше. Единственное использование в настоящее время заключается в том, что несколько доменных имен могут обрабатываться в одном месте.
Разверните get-weixin-code.html
в каталоге вашего авторизованного доменного имени обратного вызова WeChat.
Способ использования аналогичен способу обратного звонка напрямую через WeChat, за исключением того, что адрес обратного вызова меняется на адрес, где находится get-weixin-code.html
, а параметр response_type
опускается (потому что он может быть только code
). и #wechat_redirect
(исправлено), они будут добавлены сами в get-weixin-code.html
После того, как страница get-weixin-code.html
получит код из WeChat, она вернется к URL-адресу, заполненному в redirect_uri
, и поместит code
и state
после URL-адреса.
Перейдите на общедоступную платформу WeChat->Разрешения интерфейса->Авторизация веб-страницы, чтобы получить основную информацию о пользователе->Изменить, введите доменное имя страницы обратного вызова авторизации, например www.abc.com
Разверните get-weixin-code.html
под именем домена www.abc.com
(не обязательно в корневом каталоге), например: http://www.abc.com/xxx/get-weixin-code.html
Предполагая, что вашей странице http://www.xyz.com/hello-world.html
необходимо получить авторизацию WeChat, вам следует использовать следующий адрес для получения авторизации: http://www.abc.com/xxx/get-weixin-code.html?appid=XXXX&scope=snsapi_base&state=hello-world&redirect_uri=http%3A%2F%2Fwww.xyz.com%2Fhello-world.html
В конечном итоге это перейдет на такой адрес: http://www.xyz.com/hello-world.html?code=XXXXXXXXXXXXXXXXX&state=hello-world
, и вы получите code
авторизации и настроенные параметры state
.
Спасибо следующим друзьям за их вклад в этот проект (перечислены в произвольном порядке):
звезда769706697
Дэвидкр
Тяньхэ1986
ЭнтониХуанг001
Санжуму
q250305917
кисЧанг
ИсонШен1989
Еще одним скачком решена проблема WeChat, ограничивающая настройку только одного доменного имени обратного вызова.
Немного пользовательского опыта приносится в жертву в обмен на красоту развертывания проектов. Нет необходимости развертывать различные проекты под одним доменным именем.
Если у вас есть такие потребности, вы можете использовать этот проект
Добро пожаловать, чтобы отправить запросы на включение
Перед использованием этого проекта рекомендуется сначала понять процесс обратного вызова авторизации WeChat.
Многие друзья спрашивают меня, как поддерживать сторонние платформы WeChat. Для этого необходимо понимать методы авторизации различных сторонних платформ, а также знать их методы авторизации, параметры запроса и т. д. Если они авторизованы через URL-адрес при входе на веб-сайт, вы можете использовать этот проект для изменения URL-адреса входа указанным выше методом. Если они получают авторизацию на определенных страницах в процессе, то они не могут изменить адрес. так что этот проект неприменим.