HandyCafe Docs
owner it-admin

Comment configurer la connexion sociale OAuth

Ce guide vous guide dans la configuration de la connexion sociale afin que les clients puissent se connecter aux clients PC à l'aide de leurs comptes Google, Facebook, Apple, X ou Discord. HandyCafe utilise le flux Device Authorization Grant (RFC 8628), conçu pour les appareils sans navigateur complet. Les clients scannent un code QR avec leur téléphone pour s'authentifier.

Ce dont vous aurez besoin

  • Accès administrateur au serveur HandyCafe.
  • Un compte Google Cloud Console (pour Google OAuth) ou un accès équivalent au portail des développeurs pour d'autres fournisseurs.
  • Le serveur HandyCafe opérationnel et accessible sur votre réseau.
  • Au moins un PC client connecté pour tester le flux de connexion.

Comment fonctionne le flux de périphériques OAuth dans HandyCafe

Avant de plonger dans la configuration, voici un résumé du flux :

  1. Un client sur un PC client inactif clique sur le bouton de connexion sociale (par exemple, « Connectez-vous avec Google »).
  2. Le client envoie une demande de démarrage OAuth au serveur.
  3. Le serveur contacte le point de terminaison d'autorisation d'appareil du fournisseur et reçoit un code d'appareil, un code utilisateur et une URL de vérification.
  4. Le client affiche un code QR et le code utilisateur sur l'écran de veille.
  5. Le client scanne le code QR avec son téléphone et s'authentifie auprès du prestataire.
  6. Le serveur interroge le fournisseur jusqu'à ce que l'authentification soit terminée.
  7. Le serveur crée une demande de connexion OAuth qui apparaît sur la page Requêtes.
  8. Un administrateur ou un caissier approuve la demande.
  9. Un nouveau compte membre est créé (ou un compte existant est lié) et le client est connecté.

Comment configurer Google OAuth

Google est le fournisseur le plus couramment utilisé. Cette section couvre chaque étape depuis la création du projet Google Cloud jusqu'au test de la première connexion.

Partie A : Créer des informations d'identification Google Cloud

  1. Ouvrez Google Cloud Console à https://console.cloud.google.com dans votre navigateur.
  2. Créez un nouveau projet ou sélectionnez-en un existant. Nommez-le de manière reconnaissable, comme "HandyCafe OAuth".
  3. Accédez à API et services > Écran de consentement OAuth.
  4. Sélectionnez Externe comme type d'utilisateur (sauf si vous disposez d'une organisation Google Workspace et souhaitez uniquement un usage interne).
  5. Remplissez les champs obligatoires : nom de l'application ("Nom de votre café"), e-mail d'assistance utilisateur et e-mail de contact du développeur.
  6. Cliquez sur Enregistrer et continuer dans les sections Étendues et Utilisateurs de test. Vous n'avez pas besoin d'ajouter des étendues spéciales. Les étendues de courrier électronique et de profil par défaut sont suffisantes.
  7. Accédez à API et services > Identifiants.
  8. Cliquez sur Créer des informations d'identification > ID client OAuth.
  9. Pour Type d'application, sélectionnez Téléviseurs et périphériques à entrée limitée. C’est crucial. HandyCafe utilise le flux d'octroi d'autorisation de périphérique, qui nécessite ce type de client spécifique.
  10. Saisissez un nom pour le client (par exemple, « HandyCafe Device Flow »).
  11. Cliquez sur Créer.
  12. Copiez l'ID client et le Secret client à partir de la boîte de dialogue de confirmation. Rangez-les en toute sécurité. Vous aurez besoin des deux valeurs dans la section suivante.

Partie B : Configurer le serveur HandyCafe

  1. Ouvrez l'application Serveur HandyCafe.
  2. Accédez à Paramètres à l'aide de l'icône en forme d'engrenage dans la barre latérale gauche.
  3. Sélectionnez l'onglet OAuth.
  4. Activez le bouton OAuth en haut de la page. Cela permet globalement la connexion sociale sur tous les PC clients.
  5. Localisez la ligne du fournisseur Google dans la liste des fournisseurs.
  6. Activez la bascule Google pour activer ce fournisseur.
  7. Collez votre ID client de l'étape 12 dans le champ ID client.
  8. Collez votre Client Secret de l'étape 12 dans le champ Client Secret.
  9. Cliquez sur Enregistrer pour appliquer la configuration.

Résultat attendu : L'onglet OAuth affiche Google comme activé avec vos informations d'identification renseignées. Les paramètres sont transmis à tous les clients connectés.

Partie C : Tester le flux de connexion

  1. Accédez à un PC client connecté. L'écran de veille devrait maintenant afficher une section de connexion sociale avec un bouton de connexion Google.
  2. Cliquez sur le bouton de connexion Google sur l'écran de veille du client.
  3. Le client affiche un code QR et un code utilisateur (une courte chaîne alphanumérique).
  4. Scannez le code QR avec votre téléphone. Il ouvre la page de vérification de l'appareil de Google.
  5. Connectez-vous avec un compte Google et saisissez le code utilisateur lorsque vous y êtes invité.
  6. Autorisez la demande.

Résultat attendu : Sur le serveur, un son de notification est émis et une nouvelle entrée apparaît sur la page Requêtes. La demande affiche le nom du compte Google, l'adresse e-mail et le PC client qui a initié la connexion.


Comment approuver une demande de connexion

Chaque connexion OAuth génère une demande qui doit être approuvée par un administrateur ou un caissier avant que le client n'y accède.

  1. Lorsqu'une demande de connexion arrive, un son de notification est émis sur le serveur et un badge apparaît sur l'icône de la page Demandes dans la barre latérale.
  2. Accédez à la page Demandes.
  3. La demande en attente indique :
    • Nom du fournisseur (par exemple, Google).
    • Nom d'affichage du fournisseur (par exemple, "John Smith").
    • Adresse e-mail (par exemple, "john@example.com").
    • Le PC client qui a initié la requête (nom d'hôte ou nom d'affichage).
    • Horodatage.
  4. Vérifiez les détails de la demande. Vérifiez que la personne sur le PC client correspond aux informations du compte.
  5. Cliquez sur Approuver pour accepter la demande.

Résultat attendu : Si aucun compte membre existant n'est lié à cette identité OAuth, un nouveau compte membre est créé automatiquement. Le nom d'affichage et l'adresse e-mail du fournisseur sont utilisés. Le client est connecté et le PC client passe de l'écran de veille à la page en ligne. Si un compte membre était précédemment lié à cette identité OAuth, le membre existant est connecté directement.

Conseil : Si la demande de connexion est suspecte (par exemple, le PC est sans surveillance ou la demande semble automatisée), cliquez plutôt sur Rejeter. Le client verra un message « Accès refusé » et pourra réessayer.


Comment configurer Facebook OAuth

  1. Ouvrez le portail des développeurs Facebook à https://developers.facebook.com .
  2. Créez une nouvelle application. Sélectionnez le type d'application Consommateur.
  3. Accédez à la page Paramètres > De base de l'application. Notez l'App ID et le App Secret.
  4. Accédez à Ajouter un produit et ajoutez Connexion Facebook pour les appareils.
  5. Dans les paramètres de connexion Facebook pour les appareils, ajoutez vos URI de redirection si le portail l'exige.
  6. Ouvrez le serveur HandyCafe et accédez à Paramètres > OAuth.
  7. Localisez la ligne du fournisseur Facebook.
  8. Activez la bascule Facebook.
  9. Collez l'App ID dans le champ ID client.
  10. Collez le App Secret dans le champ Client Secret.
  11. Cliquez sur Enregistrer.

Résultat attendu : Facebook apparaît comme un fournisseur activé. Les écrans d'inactivité des clients affichent un bouton de connexion Facebook aux côtés de tous les autres fournisseurs activés.


Comment configurer Discord OAuth

  1. Ouvrez le portail des développeurs Discord à https://discord.com/developers/applications .
  2. Créez une nouvelle application. Donnez-lui le nom de votre café.
  3. Accédez à la section OAuth2 dans la barre latérale gauche.
  4. Copiez l'ID client et générez un Client Secret. Conservez le secret en toute sécurité car Discord ne le montre qu'une seule fois.
  5. Ouvrez le serveur HandyCafe et accédez à Paramètres > OAuth.
  6. Localisez la ligne du fournisseur Discord (elle est désactivée par défaut).
  7. Activez la bascule Discorde.
  8. Collez le ID client dans le champ ID client.
  9. Collez le Client Secret dans le champ Client Secret.
  10. Cliquez sur Enregistrer.

Résultat attendu : Discord est désormais disponible comme option de connexion sur les écrans de veille des clients.


Comment autoriser la connexion sans crédit

Par défaut, HandyCafe permet aux clients authentifiés OAuth de se connecter même s'ils n'ont pas de solde de portefeuille ou de crédit temps. Vous pouvez modifier ce comportement.

  1. Accédez à Paramètres > OAuth.
  2. Localisez le bouton Autoriser la connexion sans crédit.
  3. Si activé (par défaut), les clients qui s'authentifient via OAuth peuvent se connecter quel que soit leur solde. Un caissier peut démarrer une session postpayée pour eux.
  4. S'il est désactivé, les clients doivent disposer soit d'un solde de portefeuille, soit d'un crédit de temps pour se connecter. Les clients avec un solde nul verront un message leur indiquant de se rendre à la caisse pour recharger.
  5. Cliquez sur Enregistrer après avoir modifié la bascule.

Résultat attendu : Le comportement prend effet immédiatement pour les nouvelles demandes de connexion. Les sessions existantes ne sont pas affectées.


Comment lier une identité OAuth à un membre existant

Si un client possède déjà un compte membre (créé manuellement par un caissier) et se connecte ensuite via OAuth pour la première fois, le processus d'approbation peut lier l'identité OAuth à son compte existant.

  1. Lorsque la demande de connexion OAuth arrive sur la page Demandes, vérifiez si l'e-mail correspond à un membre existant.
  2. Si le système détecte une correspondance, la boîte de dialogue d'approbation proposera de lier l'identité OAuth au membre existant au lieu de créer un nouveau compte.
  3. Approuvez la demande avec l'option de lien sélectionnée.

Résultat attendu : Le compte membre existant obtient un lien OAuth. Les futures connexions de ce fournisseur contourneront l'étape d'approbation et connecteront le membre directement (après la première approbation).


Erreurs courantes à éviter

Utilisation d'un type de client OAuth incorrect dans Google Cloud Console. Vous devez sélectionner "Téléviseurs et périphériques à entrée limitée" lors de la création de l'ID client OAuth. Si vous sélectionnez « Application Web » ou « Application de bureau », le flux d'autorisation de l'appareil ne fonctionnera pas et le client ne parviendra pas à obtenir un code d'appareil.

  • Oublier d'activer la bascule globale OAuth. L'activation de fournisseurs individuels ne suffit pas. La bascule principale OAuth en haut de la page des paramètres OAuth doit également être activée.
  • Ne pas approuver les demandes de connexion. Les connexions OAuth nécessitent l'approbation explicite du serveur. Si personne ne surveille la page Demandes, les clients attendront indéfiniment sur l'écran de veille. Pensez à désigner un caissier pour surveiller les demandes pendant les heures de pointe.
  • Laisser expirer les codes d'appareil. Les codes d'appareil ont une durée de vie limitée (généralement 5 à 10 minutes). Si le client met trop de temps à scanner le code QR et à s'authentifier, le code expire et il doit recommencer. Conseillez aux clients de numériser rapidement.
  • Coller les informations d'identification avec des espaces supplémentaires. Lors de la copie de l'ID client ou du secret client à partir de la console du fournisseur, assurez-vous qu'aucun espace de début ou de fin n'est inclus. Un espace supplémentaire entraînera des échecs d’authentification.
  • Oublier de publier l'application Google OAuth. Les applications Google en mode "Test" n'autorisent qu'un nombre limité d'utilisateurs tests. Pour permettre à n'importe quel client de se connecter, vous devez publier l'application via la page d'écran de consentement OAuth et effectuer toutes les étapes de vérification requises.
  • Mélanger l'ID client et le secret client. Ce sont deux valeurs différentes. L’ID client est public. Le secret client doit rester confidentiel. Les échanger entraînera des échecs d’authentification.
  • Pas de configuration du nom du café. Le nom du café de vos paramètres HandyCafe est affiché sur l'écran de veille du client pendant le flux OAuth. Un nom vide ou par défaut ne semble pas professionnel. Définissez le nom de votre café dans Paramètres > Général avant d'activer OAuth.