Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk melaksanakan log masuk pengimbasan kod dalam redis

Bagaimana untuk melaksanakan log masuk pengimbasan kod dalam redis

PHPz
PHPzke hadapan
2023-05-28 14:58:161386semak imbas

Pengenalan keperluan

Pertama sekali, mari perkenalkan apa itu log masuk kod QR mengimbas. Kini, kebanyakan pelajar telah memasang perisian QQ, Taobao, Tmall dan lain-lain pada telefon mudah alih mereka. Syarikat yang membangunkan aplikasi ini mempunyai tapak web yang sepadan. Untuk menjadikan log masuk lebih mudah dan selamat untuk pengguna apabila menggunakan tapak web mereka. Syarikat-syarikat ini menyediakan perkhidmatan di mana anda boleh log masuk menggunakan telefon mudah alih dan pengimbasan anda. Kesan apabila log masuk ke halaman web adalah seperti berikut:

Bagaimana untuk melaksanakan log masuk pengimbasan kod dalam redis

Bagaimana untuk melaksanakan log masuk pengimbasan kod dalam redis

Ramai rakan mungkin berasa pelik bahawa halaman web hanya memaparkan kod QR. Bagaimana ia tahu telefon mudah alih yang mengimbas kod QR dan log masuk? Lebih-lebih lagi, selepas log masuk selesai, maklumat pengguna boleh dipaparkan terus kepada pengguna, yang sangat menakjubkan.

Penjelasan prinsip

Pelanggan + pelayan web

Langkah seterusnya ialah pelaksanaan terperinci perkhidmatan ini. Apabila pengguna membuka halaman log masuk laman web, permintaan akan dihantar ke pelayan penyemak imbas untuk mendapatkan kod QR log masuk Ini adalah prinsipnya.

Selepas menerima permintaan, pelayan menjana uuid secara rawak, menyimpan id ini sebagai nilai utama dalam pelayan redis dan menetapkan masa tamat tempoh, kod QR log masuk pengguna perlu dimuat semula dan diperoleh semula . Pada masa yang sama, gabungkan nilai utama ini dengan rentetan pengesahan syarikat, dan jana imej kod QR melalui antara muka penjanaan kod QR (penjanaan kod QR, terdapat banyak antara muka siap sedia dan kod sumber di Internet, yang tidak akan diperkenalkan di sini.) Kemudian, kembalikan imej kod QR dan uuid ke penyemak imbas pengguna.

Pelayar akan menghantar permintaan ke pelayan secara berkala untuk menyemak sama ada log masuk berjaya termasuk kod QR dan maklumat UUID. Permintaan membawa uuid sebagai pengecam halaman semasa. Sesetengah pelajar mungkin keliru kerana pelayan hanya menyimpan UUID sebagai kunci dalam Redis, jadi dari mana datangnya maklumat ID pengguna?

Memang akan ada maklumat ID pengguna di sini. Maklumat ID ini disimpan dalam redis oleh pelayan mudah alih.

Klien + pelayan mudah alih

Apabila pelayar memperoleh kod QR, ia akan memaparkannya pada halaman web dan menggesa pengguna: "Sila keluarkan telefon bimbit anda dan buka imbasan untuk meneruskan Log masuk". Pengguna mengeluarkan telefon bimbitnya dan mengimbas kod QR untuk mendapatkan maklumat pengesahan dan uuid (fungsi mengimbas kod QR untuk mendapatkan rentetan juga mempunyai banyak demo di Internet, jadi saya tidak akan memperkenalkannya secara terperinci di sini) .

Memandangkan terminal mudah alih telah pun log masuk, apabila mengakses pelayan terminal mudah alih, parameter akan membawa token pengguna, dan pelayan terminal mudah alih boleh menghuraikan userId pengguna (di sini nilai diambil daripada token) Daripada menghantar id pengguna secara terus pada telefon mudah alih, ia adalah untuk keselamatan menghantar id pengguna secara langsung boleh dipintas dan diubah suai, jadi risiko pengubahsuaian akan menjadi lebih kecil.

Telefon mudah alih menggunakan data yang dihuraikan dan token pengguna sebagai parameter untuk menghantar permintaan log masuk pengesahan ke pelayan (pelayan di sini ialah pelayan mudah alih dan pelayan telefon bimbit bukan pelayan yang sama dengan web pelayan). Selepas menerima permintaan, pelayan akan membandingkan terlebih dahulu maklumat pengesahan dalam parameter untuk mengesahkan sama ada antara muka yang diminta oleh pengguna untuk log masuk. Jika ya, kembalikan mesej pengesahan ke telefon bimbit.

Apabila terminal mudah alih menerima respons, kotak pengesahan log masuk hendaklah dipaparkan untuk mengelakkan salah operasi pengguna dan meningkatkan pengalaman log masuk. Selepas pengguna mengesahkan bahawa operasi log masuk dijalankan, telefon bimbit menghantar permintaan semula. Selepas pelayan mendapat uuId dan userId, ia menyimpan userid pengguna sebagai nilai dalam pasangan nilai kunci dalam redis dengan uuid sebagai kunci.

Log masuk berjaya

Kemudian, apabila penyemak imbas menghantar permintaan sekali lagi, pelayan sebelah penyemak imbas boleh mendapatkan ID pengguna, memanggil kaedah log masuk dan menjana token sebelah penyemak imbas Apabila penyemak imbas menghantar permintaan sekali lagi, maklumat pengguna dikembalikan ke penyemak imbas dan log masuk berjaya. Kami memilih untuk menyimpan ID pengguna daripada menyimpan maklumat pengguna secara langsung kerana maklumat pengguna pada telefon mudah alih dan penyemak imbas mungkin tidak betul-betul sama.

Rajah skema log masuk adalah seperti berikut:
Bagaimana untuk melaksanakan log masuk pengimbasan kod dalam redis

>




Atas ialah kandungan terperinci Bagaimana untuk melaksanakan log masuk pengimbasan kod dalam redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam