code
или access_token
с openid
. В конце прокси-сервер возвращает данные обратно источнику запроса, что позволяет избежать ограничения однорангового домена при использовании API авторизации WeChat..txt
) для привязки доменного имени прокси-сервера к списку доменов обратного вызова WeChatПроект поддерживает только среду PHP. Размещайте проект на сервере (примеры запросов находятся в папке demo
и могут быть удалены).
Нужно использовать новый домен (например: oauth.xx.com
), который будет разрешен к публичному IP-адресу вашего сервера. Этот домен будет использоваться как домен обратного вызова для авторизации WeChat. Измените конфигурацию веб-сервера, чтобы указать этот домен к корневой директории проекта, а затем перезапустите веб-сервер.
Откройте страницу http://oauth.xx.com/login.php
, введите имя пользователя и пароль для входа в административную панель (имя пользователя: admin
, пароль: 123456
). Нажмите кнопку "Добавить содержимое файла проверки домена обратного вызова", заполните поле ввода содержимым файла проверки домена обратного вызова (формат .txt
), нажмите кнопку "Отправить". После успешной отправки нажмите кнопку "Скопировать домен обратного вызова WeChat" для копирования домена обратного вызова (oauth.xx.com
).
После успешного копирования перейдите в платформу WeChat и установите скопированный домен обратного вызова (oauth.xx.com
).
Теперь адрес прокси-сервера (GET): http://oauth.xx.com/index.php
.
Параметры запроса:
Параметр | Описание | Обязательность | Примечания |
---|---|---|---|
app_id |
ID публичного аккаунта | Да | |
scope |
Область действия авторизации WeChat | Да | Возможные значения: "snsapi_base" или "snsapi_userinfo"
|
redirect_uri |
Адрес обратного вызова авторизации | Да | Обычно это адрес, с которого был инициирован запрос авторизации, он должен быть закодирован urlencode
|
proxy_scope |
Область действия операции прокси-сервера, используется для определения того, требуется ли code или access_token
|
Нет | Возможные значения: "code" или "access_token" , значение по умолчанию - "code"
|
app_secret |
Секретный ключ публичного аккаунта | Нет | Если proxy_scope равно "access_token" , то этот параметр также необходим |
oauth_type |
Тип авторизации, 1: публичная платформа, 2: открытая платформа | Нет | Возможные значения: 1 или 2 , значение по умолчанию - 1
|
state |
Параметр переадресации | Нет |
Вы можете получить доступ к адресу запроса и его параметрам (используйте функцию header()
). Если параметр proxy_scope
равен "code"
, ответ будет содержать параметры code
и state
. Если параметр proxy_scope
равен "access_token"
, ответ будет содержать параметры access_token
и openid
.
Получение code
"http://oauth.xx.com/index.php"
."oauth.xx.com"
."http://request.xx.com/index.php"
выполните запрос к адресу прокси-сервера: "http://oauth.xx.com/index.php?app_id=APPID&scope=SCOPE&redirect_uri=REDIRECT_URI"
."http://request.xx.com/index.php?code=CODE&state=STATE"
.code
используйте API авторизации WeChat для получения access_token
и информации о пользователе.Получение access_token
"http://oauth.xx.com/index.php"
."oauth.xx.com"
."http://request.xx.com/index.php"
выполните запрос к адресу прокси-сервера: "http://oauth.xx.com/index.php?app_id=APPID&scope=SCOPE&proxy_scope=access_token&app_secret=APPSECRET&redirect_uri=REDIRECT_URI"
."http://request.xx.com/index.php?access_token=ACCESS_TOKEN&openid=OPENID"
.access_token
и openid
через API авторизации WeChat.<FilesMatch \.(json)$>
Order allow,deny
Deny from all
</FilesMatch>
location ~ .*\.(json)$ {
deny all
}
Адрес прокси-сервера: http://wxoauth.hillpy.com/index.php
Адрес запроса: http://test.hillpy.com/wxoauth/index.php
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )