Heim  >  Artikel  >  Backend-Entwicklung  >  PHP WeChat-Methode eines Drittanbieters zur Implementierung einer Ein-Klick-Anmeldung und zum Abrufen von Benutzerinformationen (detailliertes Beispiel)

PHP WeChat-Methode eines Drittanbieters zur Implementierung einer Ein-Klick-Anmeldung und zum Abrufen von Benutzerinformationen (detailliertes Beispiel)

墨辰丷
墨辰丷Original
2018-06-01 09:36:101224Durchsuche

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.


Code kopieren

Der Code lautet wie folgt: a7d80bdc8e345974ded9f4972160d44bAuthorization5db79b134e9f6b82c0b36e0489ee08ed

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();
}

SDK-Code: WeChat hat ein offizielles Handbuch, daher werde ich nicht auf Details eingehen . Es ist sehr einfach, es selbst zu studieren!

rrree

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe es kann für das Lernen jedes Einzelnen hilfreich sein.

Verwandte Empfehlungen:

php

So fügen Sie MySQL-Daten ein und geben eine ID zurück

php

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn