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:
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.
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.
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.
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!