Conectare OAuth
HandyCafe acceptă autentificarea socială/OAuth pentru clienții care utilizează acordarea de autorizare a dispozitivului (RFC 8628). Acest flux este conceput pentru chioșcuri și medii publice în care clienții nu pot introduce în siguranță acreditările pe computerele partajate.
Furnizori acceptați
| Furnizor | Punct final |
|---|---|
| oauth2.googleapis.com | |
| graph.facebook.com/v21.0 | |
| Apple | appleid.apple.com |
| X (Twitter) | api.x.com/2/oauth2 |
| Discord | discord.com/api/oauth2 |
Fiecare furnizor poate fi activat sau dezactivat individual în Setări > OAuth.
Flux de autentificare
Fluxul de autorizare a dispozitivului trece prin următorii pași:
- Clientul selectează un furnizor -- pe ecranul inactiv al clientului, clientul atinge un buton al furnizorului (de exemplu, Google, Discord).
- Clientul trimite cererea către server -- clientul notifică serverul HandyCafe că a fost inițiată o conectare OAuth.
- Serverul solicită un cod de dispozitiv -- serverul contactează punctul final de autorizare a dispozitivului al furnizorului selectat și primește un cod de dispozitiv, un cod de utilizator și un URI de verificare.
- Clientul afișează codul -- clientul îi arată clientului
user_codeșiverification_uri, de obicei redat ca cod QR pentru scanare ușoară. - Clientul se autentifică pe telefonul său -- clientul scanează codul QR cu dispozitivul personal (telefon sau tabletă) și finalizează autentificarea pe site-ul web al furnizorului.
- Serverul sondajează pentru token -- serverul interogează periodic furnizorul pentru un token. Stările de sondaj includ:
- În așteptare -- clientul nu a finalizat încă autentificarea.
- SlowDown -- sondaje prea frecvente; serverul se retrage.
- Succes -- autentificarea finalizată; jeton primit.
- Expirat -- codul dispozitivului a expirat înainte de autentificare.
- Eroare -- a apărut o eroare neașteptată.
- Serverul preia informațiile despre utilizator -- la succes, serverul folosește tokenul pentru a prelua profilul clientului de la furnizor, inclusiv
provider_uid,email,nameșiavatar_url. - Administratorul aprobă sau respinge -- solicitarea de conectare apare pe pagina de solicitări. Un administrator sau un casier examinează și aprobă sau respinge cererea.
- Membru creat sau conectat -- dacă este aprobat, este creat un nou cont de membru sau identitatea OAuth este conectată la un membru existent.
- Sesiunea client începe -- clientul primește confirmarea și începe sesiunea clientului.
Considerații de securitate
- Acreditările nu ating niciodată computerul partajat. Clienții se autentifică numai pe dispozitivele lor personale. Nu sunt introduse parole sau simboluri pe computerul client.
- Poarta de aprobare a administratorului. Fiecare solicitare de conectare OAuth trebuie aprobată de un administrator sau casier înainte de începerea unei sesiuni, prevenind accesul neautorizat.
- Cerință de credit configurabilă. Opțiunea „permite conectarea fără credit” poate fi activată sau dezactivată, controlând dacă clienții au nevoie de un sold pozitiv pentru a se conecta prin OAuth.
Configurare
Furnizorii OAuth sunt configurați în Setări > OAuth. Fiecare furnizor necesită propriile acreditări de client (ID-ul clientului și secretul clientului) obținute din consola pentru dezvoltatori a furnizorului. Activați numai furnizorii pe care doriți să îi oferiți clienților dvs.