Dieser Artikel stellt hauptsächlich die PHP-Version der WeChat-Drittanbieter-Methode vor, um eine Ein-Klick-Anmeldung zu erreichen und Benutzerinformationen zu erhalten. Er analysiert die relevanten Vorsichtsmaßnahmen und Implementierungsfähigkeiten der WeChat-Drittanbieter-Anmeldung im Detail dazu
Beachten Sie, dass Sie ein „Dienstkonto“ benötigen, wenn Sie WeChat zum Anmelden auf der Webseite eines Drittanbieters verwenden möchten. Sie müssen dieses also auf der offiziellen Website beantragen.
Zu Beginn müssen Sie die öffentliche WeChat-Plattform aufrufen, um den Entwicklungsmodus zu öffnen, und die Rückrufadresse von oauth2 eingeben. Geben Sie einfach den Domainnamen Ihres Projekts ein .baidu.com oder zhidao.baidu com. Wenn es sich bei Ihrem Projekt um einen Second-Level-Domainnamen handelt, geben Sie die Front-End-URL-Autorisierungsadresse ein Adresse in der Methode in Ihrem Projekt in der URL. Sie können die Details im Code unten sehen.
Der Code lautet wie folgt: Authorization
Lass uns über die Hintergrundlogik sprechen, rufe zuerst das WeChat-Schnittstellen-SDK auf. (wird später verfügbar sein)
include('./Card/Common/class_weixin_adv.php');
Geben Sie dann die vom WeChat-Beamten bereitgestellte App-ID und das Geheimnis ein.
$weixin=new class_weixin_adv("appid", "secret");
Initialisieren Sie die SDK-Klasse, rufen Sie den Code ab und verwenden Sie den erhaltenen Code um die OpenID zu erhalten. Sehen Sie sich die Codekommentare unten an!
$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=appid&secret=secret&code=".$_GET['code']."&grant_type=authorization_code"; $res = $weixin->https_request($url);//调用SDK方法获取到res 从中可以得到openid $res=(json_decode($res, true));//转换成array 方便调用openid
Rufen Sie weiterhin die SDK-Methode auf, um die Benutzerinformationen zu erhalten die Benutzerinformationen. Sie können var_dump verwenden, um den Schlüsselwert zur einfachen Speicherung in der Datenbank anzuzeigen
$row=$weixin->get_user_info($res['openid']);
Das Abrufen von Benutzerinformationen ist erledigt, aber das reicht nicht aus. Was wir brauchen, ist keine Registrierung! Openid ist ein eindeutiges Zertifikat für verschiedene offizielle Konten. Dies kann als Benutzerkonto verstanden werden Das Speichern von OpenID in Cookies ähnelt dem Gefühl der Benutzeranmeldung und muss nur mit der OpenID in der Datenbank verglichen werden. Sie können mir eine Nachricht hinterlassen 🎜>
In Bezug auf die Autorisierung des vorherigen Links können Sie auch feststellen, ob das Cookie eine OpenID hat, sodass nicht autorisierte Benutzer direkt zur Adresse springen können, was dem Benutzer einen Arbeitsschritt erspart Das Folgende ist der vollständige Logikcode, Sie können darauf verweisen!public function oauth2(){ include('./Card/Common/class_weixin_adv.php'); $weixin=new class_weixin_adv("appid", "secret"); if (isset($_GET['code'])){ $url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=appid&secret=secret&code=".$_GET['code']."&grant_type=authorization_code"; $res = $weixin->https_request($url); $res=(json_decode($res, true)); $row=$weixin->get_user_info($res['openid']); if ($row['openid']) { //这里写上逻辑,存入cookie,数据库等操作 cookie('weixin',$row['openid'],25920); }else{ $this->error('授权出错,请重新授权!'); } }else{ echo "NO CODE"; } $this->display(); }
rrree
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe es kann für das Lernen jedes Einzelnen hilfreich sein. Verwandte Empfehlungen: phpSo fügen Sie MySQL-Daten ein und geben eine ID zurück
Methode zum Abfangen gemischter chinesischer und englischer Zeichenfolgen
Spezifische Verwendung des ThinkPHP5-Validators
JSON PHP In der Methode zum Deserialisieren von Json-Strings in Objekte/Arrays
Das obige ist der detaillierte Inhalt vonPHP WeChat-Methode eines Drittanbieters zur Implementierung einer Ein-Klick-Anmeldung und zum Abrufen von Benutzerinformationen (detailliertes Beispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!