Cara menggunakan PHP untuk melaksanakan fungsi log masuk pengimbasan kod WeChat

PHPz
Lepaskan: 2023-03-21 16:12:01
asal
3101 orang telah melayarinya

Dengan perkembangan pesat Internet mudah alih, WeChat, sebagai alat sosial yang penting, secara beransur-ansur menjadi bahagian yang amat diperlukan dalam kehidupan seharian orang ramai. Dalam banyak laman web dan aplikasi, fungsi log masuk WeChat telah menjadi trend, kerana ia membolehkan pengguna log masuk terus menggunakan akaun WeChat sedia ada mereka, tanpa perlu membuat akaun baharu, dan ia juga menyediakan kaedah Log Masuk yang lebih mudah dan selamat. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi log masuk pengimbasan kod WeChat.

1. Persediaan

Sebelum mula melaksanakan fungsi log masuk kod imbasan WeChat, kami perlu memastikan perkara berikut:

1 Akaun rasmi WeChat dan akaun pembangun berdaftar. Anda perlu mendaftar dan mengesahkan pada platform awam WeChat dan mendapatkan akaun pembangun anda sendiri.

2. Muat turun dan pasang PHP SDK Kami boleh memasangnya melalui Composer, yang memerlukan pakej berikut:

  • wechat/wechat

  • <.>
  • overtrue/socialite

3 Dapatkan AppID dan AppSecret melalui platform awam WeChat untuk digunakan dalam panggilan API Anda juga perlu mengkonfigurasi halaman web OAuth2.0 akaun awam.

2. Langkah pelaksanaan

1 Buat pautan kebenaran

Langkah paling penting dalam pelaksanaan log masuk kod imbasan WeChat ialah apabila pengguna. klik butang log masuk Apabila berbuat demikian, pautan kebenaran perlu dihasilkan. Melalui pautan ini, pengguna boleh membukanya dalam WeChat dan bersetuju untuk membenarkan aplikasi kami mengakses maklumat akaun WeChat mereka.

Kami boleh menggunakan protokol OAuth2.0 untuk melaksanakan kebenaran pengguna. Kod untuk menjana pautan kebenaran adalah seperti berikut:

$socialite = $app->make('overtrue\socialite\Factory');
$oauth = $socialite->driver('wechat')->setRedirectUrl($redirectUrl);
return $oauth->redirect();
Salin selepas log masuk
Antaranya, $redirectUrl ialah URL yang diubah hala selepas kebenaran, dan $app ialah objek ServiceContainer Symfony.

URL yang dijana adalah serupa dengan yang berikut:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=<APPID>&redirect_uri=<REDIRECT_URI>&response_type=code&scope=snsapi_login&state=<STATE>#wechat_redirect
Salin selepas log masuk
Di mana, ialah ID permohonan kami, ; ialah rentetan rawak tidak lebih daripada 128 aksara, digunakan untuk menghalang serangan CSRF.

2. Dapatkan token kebenaran

Apabila pengguna mengklik pautan kebenaran, dia akan memasuki halaman pengimbasan kod WeChat Pengguna menggunakan alat pengimbasan kod WeChat untuk mengimbas kod tersebut log masuk, dan kemudian WeChat akan mengubah hala ke URL ubah hala yang kami tetapkan pada langkah pertama disertakan dengan Kod Kebenaran.

Kita perlu menggunakan Kod ini sebagai pertukaran untuk AccessToken dan RefreshToken. Kodnya adalah seperti berikut:

$socialite = $app->make('overtrue\socialite\Factory');
$oauth = $socialite->driver('wechat');
$user = $oauth->user();

$accessToken = $user->getToken()->access_token; //获取Access Token
$refreshToken = $user->getToken()->refresh_token; //获取Refresh Token
$openid = $user->getId(); //获取用户 OpenID
Salin selepas log masuk
Selepas menggunakan SDK untuk mendapatkan AccessToken dan RefreshToken, kami boleh menggunakan AccessToken untuk meminta maklumat asas pengguna dalam lawatan akan datang, dan kami perlu menggunakan RefreshToken untuk mengemas kini AccessToken.

3. Minta maklumat asas pengguna

Gunakan AccessToken dan OpenID yang diperolehi dan hantarkannya sebagai parameter apabila mengakses maklumat asas pengguna adalah seperti berikut:

$client = $app['wechat'];
$user = $client->user->get($openid);
Salin selepas log masuk
Antaranya, $app ialah objek ServiceContainer Symfony dan $client ialah objek instance yang dicipta melalui SDK.

Seterusnya, anda boleh menggunakan objek $user untuk mengakses maklumat asas pengguna, termasuk nama panggilan, jantina, wilayah, URL avatar, dsb.

3. Ringkasan

Artikel ini memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi log masuk pengimbasan kod WeChat, yang terbahagi terutamanya kepada tiga langkah: menjana pautan kebenaran, mendapatkan token kebenaran dan Minta maklumat pengguna asas. Semasa proses pelaksanaan, anda perlu memberi perhatian kepada banyak butiran, seperti cara mendapatkan AppID dan AppSecret, cara mengkonfigurasi nama domain kebenaran halaman web OAuth2.0 akaun rasmi WeChat, cara menggunakan SDK, dsb. Melalui pengenalan artikel ini, saya percaya bahawa semua orang telah dapat menguasai kaedah pelaksanaan asas log masuk kod imbasan WeChat Anda boleh menambah fungsi ini ke laman web atau aplikasi anda sendiri untuk menyediakan kaedah log masuk yang lebih mudah dan selamat dan membawa yang lebih baik pengalaman pengguna kepada pengguna.

Atas ialah kandungan terperinci Cara menggunakan PHP untuk melaksanakan fungsi log masuk pengimbasan kod WeChat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan