HandyCafe Docs
owner it-admin

Log Masuk OAuth

HandyCafe menyokong log masuk sosial/OAuth untuk pelanggan menggunakan Device Authorization Grant (RFC 8628). Aliran ini direka untuk persekitaran kiosk dan awam di mana pelanggan tidak boleh memasukkan kelayakan dengan selamat pada PC berkongsi.

Pembekal yang Disokong

Pembekal Titik Akhir
Google oauth2.googleapis.com
Facebook graph.facebook.com/v21.0
Apple appleid.apple.com
X (Twitter) api.x.com/2/oauth2
Discord discord.com/api/oauth2

Setiap pembekal boleh diaktifkan atau dinyahaktifkan secara individu dalam Tetapan > OAuth.

Aliran Pengesahan

Aliran kebenaran peranti melalui langkah-langkah berikut:

  1. Pelanggan memilih pembekal -- pada skrin tunggu klien, pelanggan mengetik butang pembekal (cth. Google, Discord).
  2. Klien menghantar permintaan ke pelayan -- klien memberitahu pelayan HandyCafe bahawa log masuk OAuth telah dimulakan.
  3. Pelayan meminta kod peranti -- pelayan menghubungi titik akhir kebenaran peranti pembekal yang dipilih dan menerima kod peranti, kod pengguna dan URI pengesahan.
  4. Klien memaparkan kod -- klien menunjukkan user_code dan verification_uri kepada pelanggan, biasanya dipaparkan sebagai kod QR untuk pengimbasan mudah.
  5. Pelanggan mengesahkan pada telefon mereka -- pelanggan mengimbas kod QR dengan peranti peribadi mereka (telefon atau tablet) dan melengkapkan pengesahan di laman web pembekal.
  6. Pelayan meninjau untuk token -- pelayan secara berkala meninjau pembekal untuk token. Keadaan tinjauan termasuk:
    • Menunggu -- pelanggan belum melengkapkan pengesahan.
    • Perlahan -- tinjauan terlalu kerap; pelayan melambatkan.
    • Berjaya -- pengesahan selesai; token diterima.
    • Luput -- kod peranti telah luput sebelum pengesahan.
    • Ralat -- ralat yang tidak dijangka berlaku.
  7. Pelayan mendapatkan maklumat pengguna -- apabila berjaya, pelayan menggunakan token untuk mengambil profil pelanggan dari pembekal, termasuk provider_uid, email, name dan avatar_url.
  8. Pentadbir meluluskan atau menolak -- permintaan log masuk muncul di Halaman Permintaan. Pentadbir atau juruwang menyemak dan meluluskan atau menolak permintaan.
  9. Ahli dicipta atau dipautkan -- jika diluluskan, akaun ahli baharu dicipta atau identiti OAuth dipautkan ke ahli sedia ada.
  10. Sesi klien bermula -- klien menerima pengesahan dan sesi pelanggan bermula.

Pertimbangan Keselamatan

  • Kelayakan tidak pernah menyentuh PC berkongsi. Pelanggan mengesahkan pada peranti peribadi mereka sahaja. Tiada kata laluan atau token dimasukkan pada mesin klien.
  • Pintu kelulusan pentadbir. Setiap permintaan log masuk OAuth mesti diluluskan oleh pentadbir atau juruwang sebelum sesi bermula, menghalang akses tanpa kebenaran.
  • Keperluan kredit boleh dikonfigurasikan. Pilihan "benarkan log masuk tanpa kredit" boleh diaktifkan atau dinyahaktifkan, mengawal sama ada pelanggan memerlukan baki positif untuk log masuk melalui OAuth.

Konfigurasi

Pembekal OAuth dikonfigurasikan dalam Tetapan > OAuth. Setiap pembekal memerlukan kelayakan kliennya sendiri (ID klien dan rahsia klien) yang diperoleh dari konsol pembangun pembekal. Aktifkan hanya pembekal yang anda ingin tawarkan kepada pelanggan anda.