Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert das QQ-Anmeldeprinzip und die Prozessfreigabe

PHP implementiert das QQ-Anmeldeprinzip und die Prozessfreigabe

小云云
小云云Original
2018-02-05 09:13:261262Durchsuche

Der Editor verwendete früher HTML, um die QQ-Anmeldeseite zu imitieren, aber das Prinzip der Implementierung der QQ-Anmeldung in PHP ist immer noch besser. Die Anmeldung durch Dritte bedeutet, dass bekannte Software von Drittanbietern wie QQ, WeChat, Weibo usw. verwendet wird Melden Sie sich auf Ihrer eigenen Website an, wodurch die Registrierung eines Kontos entfällt, Benutzer schnell gebunden werden und der relativ komplizierte Registrierungsprozess entfällt. Als Nächstes erkläre ich Ihnen, wie Sie mit PHP die QQ-Anmeldefunktion entwickeln.

1. Rufen Sie die offizielle QQ-Internet-Website auf, um sich anzumelden (Sie können Ihre eigene QQ-Nummer verwenden oder eine QQ-Nummer als separate QQ für unser Projekt zur Verwaltung erneut registrieren), Adresse: https:/ /connect.qq.com /

2. Klicken Sie auf „Anwendungsverwaltung“, um das QQ Internet Management Center aufzurufen, wo Sie verwandte Anwendungen erstellen können, die in Website-Anwendungen und mobile Anwendungen unterteilt sind. Wählen Sie die Anwendung aus, in die Sie die Informationen eintragen möchten (Sie müssen etwa 7 Tage auf die Überprüfung warten, und Sie erhalten die APP-ID

und den APP-Schlüssel. Bitte nehmen Sie ein kleines Notizbuch mit und schreib es auf! Bitte nehmen Sie ein Notizbuch und schreiben Sie es auf! Bitte nehmen Sie ein Notizbuch und schreiben Sie es auf! (Sagen Sie wichtige Dinge dreimal!!!)

3. Erhalten Sie die entsprechende Schnittstelle, nachdem Sie die Überprüfung bestanden haben: get_user_info.

4. Laden Sie die Demo zu QQ Internet herunter: http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD Ich habe PHP SDK v2.1 heruntergeladen

5. Wenn wir uns das SDK genau ansehen, werden wir feststellen, dass es 4 Ordner und 2 Dateien enthält, von denen der API-Ordner meiner Meinung nach der wichtigste ist (es ist in Ordnung, wenn Sie ihn sich ansehen). ), Folgen Sie diesem Dokument Schritt für Schritt, um die Anmeldefunktion zu implementieren.

6. Kopieren Sie den API-Ordner in Ihr Projekt. Welchen Ordner Sie im Projekt kopieren möchten, hängt von Ihrer Stimmung ab, solange Sie ihn importieren können. Nachdem die vorbereitenden Vorbereitungen abgeschlossen sind, besteht der nächste Schritt darin, den Code zu schreiben.

7. Öffnen Sie den API-Ordner, den Sie in das Projekt kopiert haben. Öffnen Sie erneut den Ordner „comm“. Tragen Sie die oben in Ihrem Notizbuch notierten APPID und APPKEY in die entsprechenden Positionen ein 

7f707bd44dc956df2d19209b25814eb4
{„appid“: „Ihre App-ID“, „appkey“: „Ihr App-Schlüssel“, „Callback“: „Ihre Website-Callback-Domain“, „Scope“: „get_user_info““}

8, der Code lautet wie folgt


<?php
/**
 * Created by PhpStorm.
 * User: qichao
 * Date: 2018/1/31
 * Time: 下午7:22
 */
namespace wechat\controllers;


use wechat\common\BaseController;

require(__DIR__ . &#39;/../tools/API/qqConnectAPI.php&#39;); //引入QQ互联SDK,这是按照我自己项目的路径引入的。

class QqloginController extends BaseController{
 //登录方法
 public function actionQqlogin(){
  $qc = new \QC();
  $qc->qq_login();
 }
 //这个方法是当你通过QQ登录成功以后想要跳转回来的地址,比如你想登录成功以后跳转到百度,那你把下文的$url改为百度链接即可!
 public function actionCallback(){
  header("Content-type: text/html; charset=utf-8");
    /*       这里请根据你的项目开发需求(比如获取登录用户的昵称、头像、年龄等等),进行相关代码的开发,具体数据获取方法,请查阅QQ互联文档
  $qc = new \QC();
  $access_token = $qc->qq_callback();

  $openid = $qc->get_openid();
  */
  $url = "http://wechat.xxx.cn/index.php?r=cms/home";
  header("Location:".$url);
  exit();
 }
}

An diesem Punkt ist Ihr gesamter Prozess abgeschlossen, ganz einfach! ! ! Der gesamte Funktionsprozess ähnelt dem Bild unten:

Wenn während des Entwicklungsprozesses die folgenden Probleme auftreten:

file_get_contents (): Der Wrapper „https“ konnte nicht gefunden werden – haben Sie vergessen, ihn zu aktivieren, als Sie PHP konfiguriert haben?

Der Grund für diesen Fehler ist sehr einfach. Das Verschlüsselungsmodul in der PHP-Konfiguration ist nicht aktiviert.

Lösung: 1. (Windows) php.ini-Konfigurationsdatei, suchen Sie den in der Abbildung unten blau angezeigten Speicherort, entfernen Sie das Semikolon

vor extension=php_openssl.dll und starten Sie dann die Datei neu Bei einem erneuten Besuch des Apache- oder Nginx-Servers tritt kein solcher Fehler auf.

2. Für PHP unter Linux müssen Sie das OpenSSL-Modul installieren. Nach der Installation können Sie darauf zugreifen.

Verwandte Empfehlungen:

Teilen der Fallstricke, die beim Zugriff von PHP auf QQ zur Anmeldung bei OAuth2.0 auftreten

PHP-Kapitel Drei-Parteien-Login-QQ-Login-Video-Tutorial

Verwendung des QQ-Login-Bereichs von Moodle


Das obige ist der detaillierte Inhalt vonPHP implementiert das QQ-Anmeldeprinzip und die Prozessfreigabe. 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