Heim >Backend-Entwicklung >PHP-Tutorial >PHP implementiert die Entwicklung der Anmeldeautorisierung für WeChat-Webseiten
Dieser Artikel stellt hauptsächlich die Implementierung der WeChat-Webseiten-Anmeldeautorisierung vor. Er hat einen gewissen Referenzwert. Jetzt kann ich ihn mit allen teilen, die ihn benötigen.
WeChat open Plattform und die Öffentlichkeit Unterschiede zwischen Plattformen
1 Öffentliche Plattformen sind für normale Benutzer wie Self-Media und Medien gedacht und werden natürlich von Betreibern offizieller WeChat-Konten verwendet Das Team oder Unternehmen verfügt über die Stärke, einige Inhalte zu entwickeln und kann auch Schnittstellen auf der öffentlichen Plattform aufrufen, z. B. benutzerdefinierte Menüs, automatische Antworten und Abfragefunktionen. Derzeit tun die meisten WeChat dies, nachdem sie die Zertifizierung bestanden haben.
mp.weixin.qq.com
2. Die offene Plattform richtet sich an Entwickler und unabhängige Softwareentwickler von Drittanbietern. Ich denke, die größte Offenheit der Entwicklungsplattform ist die WeChat-Anmeldung. Zu diesem Zeitpunkt unternahm Tencent keine großen Anstrengungen, um eine einheitliche Anmeldung zu implementieren. Daher muss nun jede Website einen Anmeldemechanismus entwickeln. Glücklicherweise verstehen sie jetzt die Situation. Entwickler oder Softwareentwickler können über die von WeChat bereitgestellte Plattform und Schnittstelle für Unternehmen geeignete E-Commerce-Websites entwickeln, den QR-Code scannen, um eine Spieloberfläche aufzurufen, und dann Waren kaufen. Natürlich wird die nachfolgende offene Plattform die Zahlungsschnittstelle öffnen, sodass Softwareentwickler wie Pocket Tong Dienste und Software wie WeChat-Shops für große, kleine und mittlere Unternehmen bereitstellen können.
open.weixin.qq.com
Die öffentliche Plattform ist das Verwaltungs- und Entwicklungs-Backend für Dienstkonto-Abonnementkonten.
Einfach ausgedrückt besteht die Entwicklungsplattform darin, den Inhalt der auf dem Mobiltelefon installierten Software mit einem Klick an den Freundeskreis weiterzugeben
Der folgende Drittanbieter Die Anmeldung basiert auf der offenen Plattform (open.weixin.qq.com). Funktionen
Website-Anwendung WeChat-Anmeldung ist ein von WeChat OAuth2.0 autorisiertes Anmeldesystem basierend auf dem OAuth2.0-Protokollstandard.
Bevor Sie WeChat OAuth2 durchführen, registrieren Sie ein Entwicklerkonto auf der offenen WeChat-Plattform und erhalten Sie die entsprechende AppID und AppSecret Nachdem Sie sich angemeldet und die Prüfung bestanden haben, können Sie den Zugangsprozess starten.
Mit der autorisierten WeChat OAuth2.0-Anmeldung können WeChat-Benutzer ihre WeChat-Identität verwenden, um sich sicher bei Anwendungen oder Websites Dritter anzumelden, und der WeChat-Benutzer autorisiert die Anmeldung Dritte, die auf WeChat OAuth2.0 zugegriffen haben Nach der Anwendung kann der Dritte die Anmeldeinformationen für die Schnittstelle des Benutzers (access_token) abrufen und mit dem access_token die Schnittstelle für die Autorisierungsbeziehung der offenen Plattform von WeChat aufrufen und so die grundlegenden offenen Informationen von WeChat-Benutzern erhalten Unterstützung der Benutzer bei der Implementierung grundlegender offener Funktionen.
Die autorisierte WeChat OAuth2.0-Anmeldung unterstützt derzeit den Authorization_Code-Modus, der für die serverseitige Anwendungsautorisierung geeignet ist. Der Gesamtprozess dieses Modells ist:
1. Der Dritte initiiert eine WeChat-Autorisierungs-Anmeldeanfrage. Nachdem der WeChat-Benutzer die Autorisierung der Drittanbieteranwendung zulässt, startet WeChat die Anwendung oder leitet zur Drittanbieteranwendung weiter. Party-Website und bringen Sie den temporären Autorisierungscode-Parameter mit.
2. Fügen Sie AppID und AppSecret über den Code-Parameter hinzu und tauschen Sie access_token aus.
Access_token-Sequenzdiagramm abrufen:
Wenn die Meldung „Auf den Link kann nicht zugegriffen werden“ angezeigt wird, überprüfen Sie bitte, ob die Parameter falsch eingegeben wurden „redirect_uri“ stimmt nicht mit dem bei der Überprüfung eingegebenen autorisierten Domänennamen überein oder der Bereich ist nicht snsapi_login.
Parameter
|
Ist es notwendig
|
Beschreibung
|
ist | Eindeutige App-ID | |
ist |
| Umleitungsadresse muss UrlEncode sein|
ist |
| Füllen Sie den Code aus|
ist | Wenn Sie mehrere Bereiche haben, trennen Sie diese durch Kommas (,). Für Webanwendungen müssen Sie derzeit nur snsapi_login ausfüllen | |
Nein | wird verwendet, um den Status der Anfrage und des Rückrufs beizubehalten und ihn nach der Autorisierung der Anfrage so an den Dritten zurückzugeben, wie er ist. Dieser Parameter kann verwendet werden, um CSRF-Angriffe (Cross-Site-Request-Forgery-Angriffe) zu verhindern. Es wird empfohlen, dass Dritte diesen Parameter zur Überprüfung auf eine einfache Zufallszahl plus Sitzung setzen |
redirect_uri?code=CODE&state=STATE
redirect_uri?state=STATE
Melden Sie sich bei der Yihaodian-Website-Anwendung an
Nach dem Öffnen generiert der Yihaodian den Status Parameter und springen Sie zu
https://open.weixin.qq.com/connect/qrconnect?appid=wxbdc5610cc59c1631&redirect_uri=https%3A%2F%2Fpassport.yhd.com%2Fwechat%2Fcallback.do&response_type=code&scope=snsapi_login
&state=. 3d6be0a4035d839573b04816624a415e#wechat_redirect
https://open.weixin.qq.com/connect/qrconnect?appid=wxbdc5610cc59c1631&redirect_uri=https%3A%2F%2Fpass port.yhd.com%2Fwechat%2 Fcallback.do&response_type=code&scope=snsapi_login&state =eb407f95fbc413185209fd85931761c2#wechat_redirectNachdem WeChat-Benutzer den QR-Code mit WeChat gescannt und die Anmeldung bestätigt haben, springt der PC zu
https://passport.yhd.com /wechat/callback.do ?code=CODE&state=3d6be0a4035d839573b04816624a415e
Die zweite Möglichkeit, den Code zu erhalten, unterstützt die Website dabei, den WeChat-Login-QR-Code in ihre eigene Seite einzubetten, und Der Benutzer verwendet WeChat, um den Code zur Autorisierung zu scannen. Anschließend wird der Code über JS an die Website zurückgegeben.
Der Hauptzweck der JS WeChat-Anmeldung: Die Website hofft, dass Benutzer die Anmeldung innerhalb der Website abschließen können, ohne zur WeChat-Domäne springen zu müssen, um sich anzumelden und dann zurückzukehren, um die Sprachkompetenz und Erfolgsquote zu verbessern WeChat-Login. So implementieren Sie JS für die in die Website eingebettete QR-Code-WeChat-Anmeldung: Schritt 1: Führen Sie zunächst die folgende JS-Datei in die Seite ein (https wird unterstützt):
e98a644783ae9ff405b61b4d9d2c25b32cacc6d41bbb37262a98f745aa00fbf0
参数 |
是否必须 |
说明 |
id |
是 |
第三方页面显示二维码的容器id |
appid |
是 |
应用唯一标识,在微信开放平台提交应用审核通过后获得 |
scope |
是 |
应用授权作用域,拥有多个作用域用逗号(,)分隔,网页应用目前仅填写snsapi_login即可 |
redirect_uri |
是 |
重定向地址,需要进行UrlEncode |
state |
否 |
用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验 |
style |
否 |
提供"black"、"white"可选,默认为黑色文字描述。详见文档底部FAQ |
href |
否 |
自定义样式链接,第三方可根据实际需求覆盖默认样式。详见文档底部FAQ |
Ist es notwendig
Beschreibung
Access_token über Code abrufen
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
|
Ist es notwendig |
|
|||||||||||||||||||||||||||||
appid |
Ja |
Die eindeutige Identifikation des Antrags wird erhalten, nachdem der Antrag zur Prüfung auf der offenen WeChat-Plattform eingereicht wurde | tr>|||||||||||||||||||||||||||||
geheim |
ist |
Der Anwendungsschlüssel AppSecret wird erhalten, nachdem der Antrag zur Überprüfung auf der offenen WeChat-Plattform eingereicht wurde |
|||||||||||||||||||||||||||||
Code |
ist |
Füllen Sie die im ersten Schritt erhaltenen Codeparameter aus |
|||||||||||||||||||||||||||||
grant_type |
Ja |
Geben Sie den Autorisierungscode ein td> |
Parameter |
参数 |
是否必须 |
说明 |
appid |
是 |
应用唯一标识 |
grant_type |
是 |
填refresh_token |
refresh_token |
是 |
填写通过access_token获取到的refresh_token参数 |
access_token
Anmeldeinformationen für Schnittstellenaufrufe
Expires_in
access_token Interface Call Voucher Timeout, Einheit (Sekunde)
refresh_token
Benutzeraktualisierungs-Access_token
openid
Die eindeutige Kennung des autorisierten Benutzers
scope
Benutzerautorisierungsbereich, getrennt durch Kommas (,)
unionid
Dieses Feld wird erst angezeigt, nachdem der Benutzer das offizielle Konto an das WeChat Open Platform-Konto gebunden hat.
Parameter |
Ist es erforderlich |
Beschreibung |
appid |
is |
Eindeutige Kennung anwenden |
grant_type |
Ja |
Füllen Sie „refresh_token“ aus |
refresh_token |
is | Füllen Sie den über access_token erhaltenen Parameter „refresh_token“ aus |
Korrekte Rückgabe:
{ <br>"access_token":"ACCESS_TOKEN", <br>"expires_in":7200, <br>"refresh_token":"REFRESH_TOKEN", <br>"openid":"OPENID", <br>"scope":"SCOPE" <br>}
Parameter
|
Beschreibung |
||||||||||||
access_token |
Anmeldeinformationen für Schnittstellenaufrufe |
||||||||||||
expires_in |
Zeitüberschreitung der Anmeldeinformationen für den Zugriff auf die access_token-Schnittstelle, Einheit (Sekunde) | ||||||||||||
refresh_token |
Benutzeraktualisierung access_token |
||||||||||||
openid |
Eindeutige Identifizierung autorisierter Benutzer |
scope |
Vom Benutzer autorisierter Bereich, verwenden Sie Kommas ( ,) getrennt |
Beispiel für Fehlerrückgabe:
Hinweis:Schritt 3: Rufen Sie die Schnittstelle über access_token auf
授权作用域(scope) |
接口 |
接口说明 |
snsapi_base |
/sns/oauth2/access_token |
通过code换取access_token、refresh_token和已授权scope |
/sns/oauth2/refresh_token |
刷新或续期access_token使用 |
|
/sns/auth |
检查access_token有效性 |
|
snsapi_userinfo |
/sns/userinfo |
获取用户个人信息 |
Autorisierungsbereich |
Schnittstelle |
Schnittstellenbeschreibung |
/ sns/oauth2/access_token |
Austauschcode für Access_token, Refresh_token und autorisierten Bereich |
/sns/oauth2/refresh_token | Aktualisieren oder fortfahren Zeitraum access_token verwendet |
/sns/auth |
Gültigkeit des access_token prüfen |
|
snsapi_userinfo td> |
/sns/userinfo |
Persönliche Benutzerinformationen abrufen |
Unter diesen gehört snsapi_base zur Basisschnittstelle. Wenn die Anwendung bereits über andere Bereichsberechtigungen verfügt, verfügt sie standardmäßig über die Berechtigungen von snsapi_base. Durch die Verwendung von snsapi_base kann die mobile Webseitenautorisierung den Vorgang des Springens zur Autorisierungs-Anmeldeseite zum Anfordern der Benutzerautorisierung umgehen und mit dem temporären Autorisierungsticket (Code) direkt zur Drittanbieter-Webseite springen. Dadurch wird der Benutzer jedoch autorisiert Bereich (Bereich) nur snsapi_base , was dazu führt, dass Daten und Grundfunktionen, für die eine Benutzerautorisierung erforderlich ist, nicht abgerufen werden können.
Antwort: Ein Dritter muss den Code verwenden, um den Access_token zu erhalten. Das Timeout des Codes beträgt 10 Minuten. Ein Code kann nur einmal erfolgreich gegen den Access_token ausgetauscht werden. Der temporäre und einmalige Charakter des Codes gewährleistet die Sicherheit der autorisierten WeChat-Anmeldung. Dritte können die Sicherheit ihrer eigenen autorisierten Anmeldungen durch die Verwendung von https und Statusparametern weiter erhöhen.
2. Was ist der Berechtigungsumfang?
Antwort: Der Autorisierungsbereich (Bereich) stellt die von Benutzern autorisierten Schnittstellenberechtigungen für Dritte dar. Anwendungen von Drittanbietern müssen bei der WeChat Open Platform die Erlaubnis zur Verwendung des entsprechenden Bereichs beantragen und dann die beschriebene Methode verwenden im Dokument, um Benutzern die Autorisierung zu ermöglichen. Nach der Benutzerautorisierung kann die Schnittstelle erst nach Erhalt des entsprechenden access_token aufgerufen werden.
Antwort: Der Farbstil der Drittanbieterseite kann hell oder dunkel sein. Wenn die Drittanbieterseite einen hellen Hintergrund hat, sollte das Stilfeld einen „Schwarz“-Wert bereitstellen (oder auch nicht). Schwarz ist der Standardwert), dann ist der entsprechende WeChat-Anmeldetextstil schwarz. Die damit verbundenen Effekte sind wie folgt:
Wenn der Wert „weiß“ angegeben wird, wird die entsprechende Textbeschreibung in Weiß angezeigt, passend für dunkle Hintergründe. Die relevanten Auswirkungen sind wie folgt:
A: Wenn ein Dritter der Meinung ist, dass der vom WeChat-Team bereitgestellte Standardstil nicht mit seinem eigenen Seitenstil übereinstimmt, kann er eine eigene Stildatei bereitstellen, um den Standardstil zu überschreiben. Wenn ein Dritter beispielsweise der Meinung ist, dass der Standard-QR-Code zu groß ist, kann er relevante Dateien im CSS-Stil bereitstellen und die Linkadresse in das Href-Feld
.impowerBox .qrcode {width:200px;}<br>.impowerBox .title {display: none;}<br>.impowerBox .info {width: 200px;}<br>.status_icon {display
:
none}<br>.impowerBox .status {text-align: center;}
Parameter |
Ist es notwendig
|
Beschreibung |
|||||||||||||||||||
access_token td > |
Ja |
Anmeldeinformationen | |||||||||||||||||||
openid |
Ja |
Die Identifikation normaler Benutzer, eindeutig für das aktuelle Entwicklerkonto |
Parameter
|
Beschreibung |
||||||||||||||||||||
openid |
Die Identifikation normaler Benutzer, eindeutig für das aktuelle Entwicklerkonto | ||||||||||||||||||||
Spitzname |
Normaler Benutzer-Spitzname |
||||||||||||||||||||
Geschlecht |
Allgemeines Benutzergeschlecht, 1 ist männlich, 2 ist weiblich td> |
||||||||||||||||||||
province
|
Normal Provinz ausgefüllt im Benutzerprofil |
||||||||||||||||||||
Stadt |
Stadt ausgefüllt mit den persönlichen Daten normaler Benutzer |
||||||||||||||||||||
Land |
Land wie China ist CN |
||||||||||||||||||||
headimgurl |
Benutzeravatar, der letzte Wert stellt die Größe des quadratischen Avatars dar (0, 46 , 64, 96, 132 Werte sind optional, 0 stellt einen 640*640 Quadrat großen Avatar dar), dieses Element ist leer, wenn der Benutzer keinen Avatar hat |
||||||||||||||||||||
privileg |
Informationen zu Benutzerprivilegien, JSON-Array, z. B. WeChat Woka-Benutzer ist (chinaunicom) | ||||||||||||||||||||
unionid |
Einheitliche Benutzeridentifikation. Für Anwendungen unter einem WeChat-Konto der offenen Plattform ist die Unionid desselben Benutzers eindeutig. |
Schnittstellenname
Frequenzlimit
Austauschcode für access_token
10.000/Minute
Zugriffstoken aktualisieren
50.000/Minute
Grundlegende Benutzerinformationen abrufen
50.000/Minute
代码示例:
第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;
通过code参数加上AppID和AppSecret等,通过API换取access_token;
通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。
Login.php如下:
/*
返回 code state*/
$appid = 'wxea1xxxxxxxx20cb62';
$url = "https://open.weixin.qq.com/connect/qrconnect?appid=$appid&redirect_uri=http://zhiliaoke.com.cn/weixin.php&response_type=code&scope=snsapi_login&state=1&connect_redirect=1#wechat_redirect";
header(
'location:'.
$url);
验证处理如下:
<?php
$code = $_GET['code'];
$state = $_GET['state'];//换成自己的接口信息
$appid = 'XXXXX';
$appsecret = 'XXXXX';
if (empty($code)) $this->error('授权失败');
<br>
$token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code';
$token = json_decode(file_get_contents($token_url));
if (isset($token->errcode)) {
echo '4a249f0d628e2318394fd9b75b4636b1错误:473f0a7621bec819994bb5020d29372a'.$token->errcode;
echo '076402276aae5dbec7f672f8f4e5cc81c1a436a314ed609750bd7c7d319db4da错误信息:2e9b454fa8428549ca2e64dfac4625cd'.$token->errmsg;
exit;
}
<br>
$access_token_url = 'https://api.weixin.qq.com/sns/oauth2/refresh_token?appid='.$appid.'&grant_type=refresh_token&refresh_token='.$token->refresh_token;//转成对象
$access_token = json_decode(file_get_contents($access_token_url));
if (isset($access_token->errcode)) {
echo '4a249f0d628e2318394fd9b75b4636b1错误:473f0a7621bec819994bb5020d29372a'.$access_token->errcode;
echo '076402276aae5dbec7f672f8f4e5cc81c1a436a314ed609750bd7c7d319db4da错误信息:2e9b454fa8428549ca2e64dfac4625cd'.$access_token->errmsg;
exit;
}
<br>
<br>
$user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token->access_token.'&openid='.$access_token->openid.'&lang=zh_CN';//转成对象
$user_info = json_decode(file_get_contents($user_info_url));
if (isset($user_info->errcode)) {
echo '4a249f0d628e2318394fd9b75b4636b1错误:473f0a7621bec819994bb5020d29372a'.$user_info->errcode;
echo '076402276aae5dbec7f672f8f4e5cc81c1a436a314ed609750bd7c7d319db4da错误信息:2e9b454fa8428549ca2e64dfac4625cd'.$user_info->errmsg;
exit;
}
$rs = json_decode(json_encode($user_info),true);//返回的json数组转换成array数组
//打印用户信息echo 'e03b848252eb9375d56be284e690e873';
<br>
print_r($rs);echo 'bc5574f69a0cba105bc93bd3dc13c4ec';
<br>
?>
用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
微信的授权登录在日常应用中应用的非常广泛,越来越多的平台支持用户使用微信进行授权第三方登录
使用微信授权登录有哪些优势/好处;
1、用户量足够大,基本所有用户都会有微信,登录起来比较方便快捷;
2、微信作为一个开放平台,为众多公众号/服务开放了许多服务接口,让公众号能够为自己的用户提供更加个性、更加优质的产品服务;
open id 和 union id ,这两个id有什么区别;
1、openid:在关注者与公众号产生消息交互后,公众号可获得关注者的openid,同一个用户,在不同公众号或移动应用下对应有不同open id标识;
2、union id:同一个用户,在不同公众号或移动应用下unionID相同;前提是,如若需要做多个公众号以及移动应用账户互通,得到唯一身份标识union id,则需要将多个公众号或移动应用在微信开放平台进行绑定,然后我们才能给拿到unionid;
所以,如果某个应用或者服务,有联合登录甚至多个公众应用多账户互通,可以采用union id来进行账户体系的用户识别与合并;即微信平台可以通过union id 来进行基于多个公众号之间的账户体系互通与识别合并;
微信联合登录是怎么登录的,有几种登录方式;微信联合登录和微信授权登录【授权登录(非静默授权)与静默授权】
微信联合登录;也就是我们常用的微信移动端/PC端之间的扫码登录,PC端用微信扫码登录,微信移动端确认授权登录后,应用可以从微信拿到用户的open id或union id,将微信获取的用户信息与自己账户体系中的用户身份进行关联;
授权登录:需要用户确认登录,这样可以通过用户的个人确认,获取用户全面的信息,无论是否关注相关微信公众号等都可以获取。
静默授权不需要用户确认,只需要用户访问某个网页,属于嵌套在普通网页里的授权形式,但是只能获取到用户的唯一标示openid和union id,无法拿到用户的微信头像、微信名称等个人信息,对于用户的简单认证还是很有用的。
如何通过微信账户体系来做多应用、多平台之间的账户互通体系;如果某个服务同时分布在多个公众号中,账户体系如何建立;如何做到用户身份唯一识别;
1)、同一用户不同公众号/应用下open id不同,同一用户不同公众号/应用下unionid相同;
2)、建立应用账户体系时,通过union来进行多应用/平台之间的用户账户体系识别与合并;
3)、多应用/平台建立账户体系时,需要做到唯一user id对应唯一union id;
Für einen bestimmten Dienst, einschließlich mobiler App , PC-Webseite und öffentlichem Kontodienst, wie ist der Datenflussprozess für Benutzer, die sich mit WeChat-Autorisierung anmelden
1. Der Benutzer autorisiert den mobilen App-Dienst über die Schnittstelle. Wenn die ID zu diesem Zeitpunkt nicht in der Datenbank gefunden wird, wird sie als neu identifiziert Benutzer und eine Benutzer-ID werden direkt erstellt. Die eindeutige Benutzer-ID entspricht der Gewerkschafts-ID. 2 Der Benutzer scannt den QR-Code auf der PC-Seite von WeChat, um die gemeinsame Anmeldung zu autorisieren, um den PC-seitigen Dienst zu erhalten ; Der Anwendungsdienst kann die Gewerkschafts-ID über die Schnittstelle abrufen. Wenn diese ID in der Datenbank gefunden wird, wird das PC-Anmeldekonto mit dem zuvor erstellten eindeutigen Benutzer-ID-Konto zusammengeführt Der Benutzer kann sich beim öffentlichen Kontodienst anmelden, indem er dem öffentlichen Konto des Dienstes folgt und ihn mit WeChat autorisiert. Der Anwendungsserver kann die Gewerkschafts-ID des Benutzers zu diesem Zeitpunkt über die Schnittstelle abrufen , das vom offiziellen Konto angemeldete Konto wird mit dem zuvor erstellten eindeutigen Benutzer-ID-Konto zusammengeführtErklärung des Unterschieds zwischen den beiden Bereichen der Webseitenautorisierung
: 1. Die mit snsapi_base initiierte Autorisierung der Anmeldewebseite wird zum Abrufen der Einstiegsseite verwendet. Die OpenID des Benutzers wird stillschweigend autorisiert und springt automatisch zur Rückrufseite. Was der Benutzer wahrnimmt, ist, dass er direkt die Rückrufseite aufruft (oft eine Geschäftsseite).
2. Stille Autorisierung, die mit snsapi_userinfo initiiert wird, um sie abzurufen die grundlegenden Informationen des Benutzers. Diese Art der Autorisierung erfordert jedoch die manuelle Zustimmung des Benutzers. Da der Benutzer zugestimmt hat, können die grundlegenden Informationen des Benutzers nach der Autorisierung ohne Aufmerksamkeit abgerufen werden. Stille Autorisierung in besonderen Szenarien:Für Benutzer, die dem offiziellen Konto gefolgt sind, wenn der Benutzer über die Sitzung oder benutzerdefinierte Sitzung des offiziellen Kontos zutritt Menü Die Webautorisierungsseite dieses offiziellen Kontos wird stillschweigend autorisiert und der Benutzer ist sich dessen nicht bewusst, auch wenn der Bereich snsapi_userinfo ist.
Webseiten-Autorisierungsprozess:1
, leiten Sie den Benutzer zur Eingabe der Autorisierung Seite, um der Autorisierung zuzustimmen, Code abrufen Stellen Sie sicher, dass das öffentliche WeChat-Konto über den Autorisierungsbereich (Bereichsparameter) verfügt, und führen Sie den Benutzer zur Autorisierungsseite
Referenzlink:Bereich ist snsapi_baseHinweis: Appid, Redirect_uri, Status müssen mit dem Backend ausgehandelt werdenhttps://open.weixin .qq.com/connect/oauth2 /authorize?appid="+wx_appid+"&redirect_uri="+api.wx_reg+"&response_type=code&scope=snsapi_login,snsapi_userinfo
&state=1,0#wechat_redirectscope ist snsapi_userinfo
https://open.weixin.qq.com/connect/oauth2/authorize?appid="+wx_appid+"&redirect_uri="+api.wx_reg+"&response_type=code&scope=snsapi_base,snsapi_userinfo&state= 1,0#wechat_redirect
Nachdem der Benutzer der Autorisierung zugestimmt hat
, Austauschcode für Webseitenautorisierung access_token (Backend-Vorgang) Redirect_uri auf der URL, die die Seite enthält springt zurück zu /?code=CODE&state=STATE. Code
Was durch Code ausgetauscht wird, ist das Webseiten-Autorisierungs-Access_token. Wenn der Umfang der Webseiten-Autorisierung snsapi_base ist, wird in diesem Schritt beim Abrufen des Webseiten-Autorisierungs-Access_tokens auch die OpenID und die Webseite im snsapi_base-Stil abgerufen Der Autorisierungsprozess ist soweit abgeschlossen. 3: Persönliche Daten sind erforderlich. Der Hintergrund erhält den Wert über den Code und gibt ihn zur Operation an das Frontend zurück Verwandte Empfehlungen:PHP implementiert WeChat-Vorlagennachrichten-Push
Das obige ist der detaillierte Inhalt vonPHP implementiert die Entwicklung der Anmeldeautorisierung für WeChat-Webseiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!