Mit der Entwicklung des Internets beginnen immer mehr Websites, Anmeldefunktionen von Drittanbietern zu unterstützen. Durch die Drittanbieter-Anmeldung können Benutzer ihre vorhandenen sozialen Konten (wie WeChat, QQ, Weibo usw.) als Anmeldeinformationen verwenden und vermeiden so die Mühe einer wiederholten Registrierung und das Merken verschiedener Kontokennwörter, was die Benutzererfahrung erheblich verbessert. In diesem Artikel wird am Beispiel der WeChat-Anmeldung beschrieben, wie PHP zum Implementieren der Anmeldefunktion eines Drittanbieters verwendet wird.
Schritt eins: Besorgen Sie sich ein offenes WeChat-Plattform-Konto
Um sich bei WeChat anzumelden, benötigen Sie zunächst ein offenes WeChat-Plattform-Konto. Nachdem Sie ein Konto auf der offenen WeChat-Plattform registriert haben, müssen Sie eine neue Anwendung erstellen und die grundlegenden Informationen der Anwendung in „Entwicklung – Grundkonfiguration“ eingeben, einschließlich Anwendungs-ID, Anwendungsschlüssel usw.
Nachdem Sie die Anwendung erstellt haben, müssen Sie die offizielle WeChat-Kontoauthentifizierung oder die WeChat-Anmeldeauthentifizierung durchführen. In diesem Artikel wird nur die WeChat-Anmeldeauthentifizierung beschrieben. Nach der Authentifizierung wird Ihre Anwendung autorisiert, grundlegende Informationen von WeChat-Benutzern abzurufen, einschließlich Avatare, Spitznamen usw.
Schritt 2: Erstellen Sie einen Anmeldelink
Nachdem Sie die Anwendungs-ID und den Anwendungsschlüssel erhalten haben, können Sie einen WeChat-Anmeldelink für den Benutzer erstellen. Nachdem der Benutzer auf diesen Link geklickt hat, springt er zur Autorisierungsseite der WeChat-Webseite. Nachdem der Benutzer die Autorisierung bestätigt hat, springt er automatisch zu der von uns festgelegten URL-Adresse zurück und gibt einen Autorisierungscode zurück.
Das Folgende ist der PHP-Code zum Erstellen eines Anmeldelinks:
$login_url = ‘https://open.weixin.qq.com/connect/oauth2/authorize?appid=’ . $appid . ‘&redirect_uri=’ . urlencode($redirect_uri) . ‘&response_type=code&scope=snsapi_login&state=STATE#wechat_redirect’;
Dabei ist $appid die Anwendungs-ID und $redirect_uri die URL-Adresse, zu der gesprungen werden soll. Es ist zu beachten, dass $redirect_uri keine Parameter enthalten kann und nur mit URL-Code maskiert und dann in die URL eingefügt werden kann. Andernfalls wird der Autorisierungscode nicht korrekt empfangen.
Schritt 3: Access_token abrufen
Access_token und openid können über den im zweiten Schritt zurückgegebenen Code abgerufen werden. Access_token ist die eindeutige Kennung, die WeChat zur Identifizierung von Benutzern verwendet und zum Abrufen übergeordneter Benutzerinformationen verwendet werden kann. Der spezifische PHP-Code zum Erhalten von access_token lautet wie folgt:
$token_url = ‘https://api.weixin.qq.com/sns/oauth2/access_token?appid=’ . $appid . ‘&secret=’ . $secret . ‘&code=’ . $code . ‘&grant_type=authorization_code’; $resp = file_get_contents($token_url); $resp_arr = json_decode($resp, true); $access_token = $resp_arr[‘access_token’];
Darunter ist $secret der Anwendungsschlüssel und $code der Autorisierungscode. Die Funktion „file_get_contents“ wird hier verwendet, um eine HTTP-Anfrage zu senden, die zurückgegebene JSON-Zeichenfolge in ein Array zu analysieren und das access_token abzurufen.
Schritt 4: Benutzerinformationen abrufen
Nachdem Sie das Access_token erhalten haben, können Sie dieses Access_token verwenden, um die detaillierten Informationen des Benutzers abzurufen. Durch Zugriff auf den folgenden Link können Sie die OpenID, den Spitznamen, den Avatar und andere Informationen des Benutzers abrufen.
$userinfo_url = ‘https://api.weixin.qq.com/sns/userinfo?access_token=’ . $access_token . ‘&openid=’ . $openid . ‘&lang=zh_CN’; $userinfo_resp = file_get_contents($userinfo_url); $userinfo = json_decode($userinfo_resp, true); $nickname = $userinfo[‘nickname’];
Zu diesem Zeitpunkt haben wir die WeChat-Anmeldefunktion über PHP implementiert. Sie können den obigen Code verwenden, um die Anmeldung von Drittanbietern bei anderen sozialen Netzwerken zu implementieren. Sie müssen lediglich die entsprechende API-Schnittstelle ersetzen und die entsprechenden Benutzerinformationen abrufen.
Es ist zu beachten, dass die Sicherheit der Anmeldung Dritter berücksichtigt werden muss und dass während des Anmeldevorgangs Maßnahmen zur Verhinderung von CSRF-Angriffen hinzugefügt werden sollten, um eine Ausnutzung durch Hacker zu vermeiden.
Das obige ist der detaillierte Inhalt vonPHP implementiert die Anmeldefunktion eines Drittanbieters. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!