Heim  >  Artikel  >  Backend-Entwicklung  >  So melden Sie sich mit WeChat auf der PHP-Website an

So melden Sie sich mit WeChat auf der PHP-Website an

小云云
小云云Original
2018-05-12 16:04:268229Durchsuche


Die jüngste Website-Entwicklung auf der PC-Seite erfordert eine autorisierte WeChat-Anmeldung, da die Mobiltelefonseite bereits in der Anfangsphase eine große Anzahl von WeChat-Benutzergruppen gewonnen hat, denken wir jetzt darüber nach der Integration von Ressourcen, um die gleichen Anforderungen an die Datensynchronisierung von WeChat-Benutzern zu erfüllen.

1. Entwicklungsanweisungen

1. Konzeptunterscheidung

Da Sie mit dem Wissen über die WeChat-Entwicklung vertraut sind, werden Sie zwangsläufig mit der Verwendung von OpenID und UnionID konfrontiert. Das Folgende ist das offizielle Dokument der WeChat-Einführung. Bitte achten Sie auf die Unterscheidung:

  • Nachdem der Follower mit dem offiziellen Konto interagiert hat, kann das offizielle Konto die OpenID des Followers erhalten ( verschlüsselte WeChat-ID, jeder Benutzer (Die OpenID jedes offiziellen Kontos ist einzigartig. Die OpenID desselben Benutzers ist für verschiedene offizielle Konten unterschiedlich.) Offizielle Konten können über entsprechende Schnittstellen grundlegende Benutzerinformationen auf Basis von OpenID erhalten, darunter Spitzname, Avatar, Geschlecht, Stadt, Sprache und Zeit der Aufmerksamkeit.

  • Bitte beachten Sie, dass Entwickler, wenn sie Benutzerkonten zwischen mehreren offiziellen Konten oder zwischen offiziellen Konten und mobilen Anwendungen vereinheitlichen müssen, zur offenen WeChat-Plattform gehen müssen (open.weixin. qq .com) Nach der Bindung des offiziellen Kontos kann der UnionID-Mechanismus verwendet werden, um die oben genannten Anforderungen zu erfüllen.

Einfach ausgedrückt:

  • OpenID ist die Identifikation eines gewöhnlichen Benutzers und ist für das aktuelle Entwicklerkonto eindeutig . Eine OpenID entspricht einem offiziellen Konto.

  • UnionID ist die einheitliche Identität des Benutzers. Bei Anwendungen unter einem WeChat Open Platform-Konto ist die UnionID desselben Benutzers eindeutig.

2. Zusammenfassung

hat diesen Kreis umgangen, das heißt, es gibt einen Unterschied zwischen der Entwicklung öffentlicher WeChat-Konten und der WeChat-Entwicklungsplattform. Wenn derselbe WeChat-Benutzer unterschiedliche Plattformen (z. B. PC, App, WeChat-Applet usw.) verwendet, um sich auf der Website anzumelden, muss das Konto gebunden werden, und das gebundene Konto kann nicht durch OpenID unterschieden werden, sondern muss unterschieden werden von UnionID.

3. Typische Probleme

Anhang Ein häufiges Designproblem ist hauptsächlich auf die unzureichende Nutzung von Wissen vor der Entwicklung zurückzuführen, was sich natürlich auch auf die spätere Erweiterung auswirkt Ich hoffe, dass dies ein Weckruf für Sie sein kann.

2. Betrieb der offenen WeChat-Plattform

Kurze Anleitung

Entsprechend den folgenden Anforderungen habe ich mich für „Website-Anwendungsentwicklung“ entschieden. Erstellen und befolgen Sie dann die offiziellen Anweisungen zur Beantragung von Materialien, was in der Regel mehr als drei Tage dauert.
So melden Sie sich mit WeChat auf der PHP-Website an

Nachdem der Antrag erstellt wurde, muss er auch die Anforderungen für den Erhalt von Schnittstellenberechtigungen erfüllen. Ein Mitarbeiter wird sich proaktiv mit Ihnen in Verbindung setzen und die Bearbeitung kann in der Regel innerhalb eines Tages erfolgen.
So melden Sie sich mit WeChat auf der PHP-Website an

2. Offizielle Szenenreferenz bereitgestellt

So melden Sie sich mit WeChat auf der PHP-Website an

3. Öffentliches Konto/Miniprogramm binden

Zur Gewährleistung Damit die UnionID, die dem WeChat-Benutzer entspricht, unter demselben Entwicklungskonto gebunden und verwendet wird, muss das entsprechende offizielle Konto/Dienstkonto in der folgenden Liste gebunden sein. Das Dokument führt ein, dass die WeChat-Zahlungsfunktion im Allgemeinen erfüllt sein muss

So melden Sie sich mit WeChat auf der PHP-Website an

4. Autorisierung zum Erhalten des access_token-Sequenzdiagramms

So melden Sie sich mit WeChat auf der PHP-Website an

3. Code-Implementierung

Tatsächlich die Hauptzeit wird für den oben genannten frühen Anwendungsbetrieb aufgewendet, aber die eigentliche Code-Implementierung ist äußerst einfach. Das Folgende ist meine Implementierungsmethode. Bitte geben Sie mir Ihr Feedback.

1. Öffentliche Dateikonfiguration

Es ist üblich, die Hauptkonfigurationsinformationen in der Konfigurationsdatei „ApplicationCommonConfconfig.php“ zu platzieren.

'WEIXIN_LOGIN' => array(        // 微信开放平台 使用微信帐号登录App或者网站 配置信息
        'OPEN_APPID' => 'wxbd961b2a6b7b2963', //应用 AppID
        'OPEN_APPSECRET' => 'e6xxxxxxxxxxxxxxxxxxxxe90',//应用 AppSecret
        'OPEN_CALLBACKURL' => 'http://www.52zhenmi.com/Home/Login/wxBack', //微信用户使用微信扫描二维码并且确认登录后,PC端跳转路径
    ),
2. Kerncode
public function wxIndex(){
        //--微信登录-----生成唯一随机串防CSRF攻击
        $state  = md5(uniqid(rand(), TRUE));        $_SESSION["wx_state"]    =   $state; //存到SESSION
        $callback = urlencode($this->callBackUrl);        'https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect';        $wxurl = "https://open.weixin.qq.com/connect/qrconnect?appid="
                .$this->appID."&redirect_uri="
                .$callback."&response_type=code&scope=snsapi_login&state="
                .$state."#wechat_redirect";
        header("Location: $wxurl");
    }    public function wxBack(){
        if($_GET['state']!=$_SESSION["wx_state"]){            echo 'sorry,网络请求失败...';            exit("5001");
        }        $url='https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$this->appID.'&secret='.$this->appSecret.'&code='.$_GET['code'].'&grant_type=authorization_code';        $arr = curl_get_contents($url);        //得到 access_token 与 openid
        $url='https://api.weixin.qq.com/sns/userinfo?access_token='.$arr['access_token'].'&openid='.$arr['openid'].'&lang=zh_CN';        $user_info = curl_get_contents($url);        $this->dealWithWxLogin($user_info);
    }    /**
     * 根据微信授权用户的信息 进行下一步的梳理
     * @param $user_info
     */
    public function dealWithWxLogin($user_info){
        //TODO 数据处理
        var_dump($user_info);        die;
    }
3. Laut offizieller Dokumentation können Sie entweder direkt auf die Autorisierungs-Scan-Schnittstelle zugreifen oder Benutzerdefiniertes Design durchführen, ich glaube, ich bin verrückt, die Funktion der verschachtelten Anmeldung und des Code-Scannens wurde schon lange nicht mehr implementiert, daher muss ich hier den Standardsprung verwenden.

So melden Sie sich mit WeChat auf der PHP-Website anDer Anzeigeeffekt ist wie folgt:

So melden Sie sich mit WeChat auf der PHP-Website anNach erfolgreichem Scannen und Anmelden springt die Seite weiter


So melden Sie sich mit WeChat auf der PHP-Website an4. Zusammenfassung

    1 Gemäß dem Ende der oben genannten Funktionsimplementierung können die Informationen der angemeldeten Benutzer abgerufen werden openID und UnionID können zur späteren Geschäftsverarbeitung in der Datenbank gespeichert werden.
  • 2. Meine Fähigkeit, dies zu erklären, ist begrenzt. Es wird empfohlen, auf offizielle Entwicklungsdokumente und die praktischen Erfahrungen von Google-Senioren zu verweisen...

  • 3. Ich habe online einen guten Artikel gesehen, empfohlene Referenz: Bindungsschema für Benutzer öffentlicher WeChat-Konten und Website-Benutzer

Verwandte Empfehlungen:

Maßgeschneiderte Lösung zum Scannen von WeChat-Anmeldecodes

Einführung in die WeChat-Anmeldung für Website-Anwendungen, die von der offenen WeChat-Plattform entwickelt wurden

So integrieren Sie die WeChat-Anmeldung schnell in Das Laravel-Framework von PHP

Das obige ist der detaillierte Inhalt vonSo melden Sie sich mit WeChat auf der PHP-Website an. 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