PHP melaksanakan fungsi log masuk pihak ketiga

WBOY
Lepaskan: 2023-06-22 22:52:01
asal
1591 orang telah melayarinya

Dengan perkembangan Internet, semakin banyak tapak web mula menyokong fungsi log masuk pihak ketiga. Melalui log masuk pihak ketiga, pengguna boleh menggunakan akaun sosial sedia ada mereka (seperti WeChat, QQ, Weibo, dll.) sebagai bukti kelayakan log masuk, mengelakkan masalah pendaftaran berulang dan mengingati pelbagai kata laluan akaun, yang meningkatkan pengalaman pengguna dengan ketara. Artikel ini menerangkan cara menggunakan PHP untuk melaksanakan fungsi log masuk pihak ketiga, mengambil log masuk WeChat sebagai contoh.

Langkah pertama: Dapatkan akaun platform terbuka WeChat

Untuk log masuk dengan WeChat, anda perlu mempunyai akaun platform terbuka WeChat terlebih dahulu. Selepas mendaftar akaun pada platform terbuka WeChat, anda perlu membuat aplikasi baharu dan mengisi maklumat asas aplikasi dalam "Konfigurasi Asas Pembangunan", termasuk ID aplikasi, kunci aplikasi, dsb.

Selepas membuat aplikasi, anda perlu melakukan pengesahan akaun rasmi WeChat atau pengesahan log masuk WeChat. Artikel ini hanya menerangkan pengesahan log masuk WeChat Selepas pengesahan, aplikasi anda akan diberi kuasa untuk mendapatkan maklumat asas pengguna WeChat, termasuk avatar, nama panggilan, dsb.

Langkah 2: Buat pautan log masuk

Selepas mendapatkan ID aplikasi dan kunci aplikasi, anda boleh mencipta pautan log masuk WeChat untuk pengguna. Selepas pengguna mengklik pautan ini, ia akan melompat ke halaman kebenaran halaman web WeChat Selepas pengguna mengesahkan kebenaran, ia secara automatik akan melompat kembali ke alamat URL yang kami tetapkan dan mengembalikan kod kebenaran.

Berikut ialah kod PHP untuk membuat pautan log masuk:

$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’;
Salin selepas log masuk

Antaranya, $appid ialah ID aplikasi dan $redirect_uri ialah alamat URL untuk dilompat. Perlu diingat bahawa $redirect_uri tidak boleh membawa sebarang parameter dan hanya boleh dilepaskan dengan urlencode dan kemudian disambungkan ke dalam URL, jika tidak, kod kebenaran tidak akan diterima dengan betul.

Langkah 3: Dapatkan access_token

Access_token dan openid boleh diperolehi melalui kod yang dikembalikan dalam langkah 2. Access_token ialah pengecam unik yang digunakan oleh WeChat untuk mengenal pasti pengguna dan boleh digunakan untuk mendapatkan maklumat pengguna peringkat lebih tinggi. Kod PHP khusus untuk mendapatkan access_token adalah seperti berikut:

$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’];
Salin selepas log masuk

Antaranya, $secret ialah kunci aplikasi dan $code ialah kod kebenaran. Fungsi file_get_contents digunakan di sini untuk menghantar permintaan HTTP, menghuraikan rentetan JSON yang dikembalikan ke dalam tatasusunan dan mendapatkan access_token.

Langkah 4: Dapatkan maklumat pengguna

Selepas mendapatkan access_token, anda boleh menggunakan access_token ini untuk mendapatkan maklumat terperinci pengguna. Dengan mengakses pautan berikut, anda boleh mendapatkan openid, nama panggilan, avatar dan maklumat lain pengguna.

$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’];
Salin selepas log masuk

Pada ketika ini, kami telah melaksanakan fungsi log masuk WeChat melalui PHP. Anda boleh menggunakan kod di atas untuk melaksanakan log masuk pihak ketiga ke tapak rangkaian sosial lain Anda hanya perlu menggantikan antara muka API yang sepadan dan mendapatkan maklumat pengguna yang sepadan.

Perlu diambil perhatian bahawa keselamatan log masuk pihak ketiga perlu dipertimbangkan, dan langkah-langkah untuk mencegah serangan CSRF perlu ditambah semasa proses log masuk untuk mengelakkan dieksploitasi oleh penggodam.

Atas ialah kandungan terperinci PHP melaksanakan fungsi log masuk pihak ketiga. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!