Fournisseur d'autorisation
Les utilisateurs s'inscrivent via un fournisseur d'autorisation. Aucun fournisseur d'autorisation n'est créé par défaut avec le projet. Si votre projet prévoit l'inscription des utilisateurs, configurez vous-même le fournisseur d'autorisation.
Création d'un fournisseur d'authentification
Pour créer un fournisseur d'authentification, ouvrez la section des utilisateurs, puis la sous-section "Authentication Providers". Dans le formulaire de création, renseignez :
- Nom : chaîne, non unique. Le nom peut avoir n'importe quel format et sert au sein de OneEntry. C'est grâce à lui que vous distinguez les fournisseurs entre eux : choisissez des noms avec lesquels il vous sera pratique de travailler.
- Type : mode de transmission des données de vérification de l'utilisateur, à choisir dans la liste.
- email : les informations qui confirment l'identité de l'utilisateur sont envoyées à l'adresse e-mail qu'il indique lors de l'inscription.
- oauth : OAuth n'envoie pas de codes aux coordonnées de l'utilisateur. Il permet à l'utilisateur d'accorder à votre application un accès limité à ses données sur un autre service où il est déjà connecté (par exemple Google, Apple, Yandex, GitHub). Exemple de vérification avec Google : Sur votre site, l'utilisateur clique sur le bouton « Se connecter avec Google ». Il est redirigé vers la page d'autorisation de Google. Il saisit ses identifiants (login et mot de passe) directement chez Google, et non dans votre application. C'est plus sûr, car vous ne traitez pas son mot de passe. Une fois la connexion réussie, Google demande à l'utilisateur s'il accepte de transmettre à votre application les données demandées (par exemple son e-mail et son nom). S'il accepte, Google le redirige vers votre site avec un jeton d'accès spécial. Votre projet vérifie ce jeton et, sur cette base, inscrit ou connecte automatiquement l'utilisateur.
- Marqueur : chaîne, unique. Permet d'accéder au fournisseur dans le code de votre application. Pour éviter les erreurs, tenez compte de la syntaxe du langage de votre projet : certains langages, par exemple, n'acceptent pas les tirets dans les noms de variables. Dans ce cas, préférez "my_provider" à "my-provide".
Une fois tous les champs remplis, cliquez sur "Add" pour créer le fournisseur d'authentification.
Configuration du fournisseur d'authentification
Pour ouvrir les paramètres d'un fournisseur d'authentification, sélectionnez-le dans la liste et cliquez sur l'icône de modification .
Paramètres principaux
L'éditeur du fournisseur comporte les onglets Basic data et Version History.
Dans les paramètres, vous pouvez modifier le nom et le marqueur du fournisseur. Un fournisseur d'authentification doit obligatoirement avoir un formulaire d'autorisation. Si vous n'avez pas de formulaire de type "Sign In and Registration", créez-le (s'ouvre dans un nouvel onglet). Pour que le fournisseur fonctionne correctement, le formulaire doit contenir un ensemble d'attributs (s'ouvre dans un nouvel onglet) de type "User" comportant au moins trois attributs : login, mot de passe et information de vérification (email).
Même si vous utilisez l'e-mail comme login, vous devez créer à la fois l'attribut "login" et l'attribut "email".
Si des utilisateurs se sont déjà inscrits via ce fournisseur, le formulaire ne peut plus être changé : le champ Form selection est verrouillé avec le message « Form selection is disabled because there are users registered through this provider ».
Dans le champ obligatoire Default User Group, sélectionnez le groupe auquel sont affectés les utilisateurs inscrits via ce fournisseur.
Pour un fournisseur de type oauth, sélectionnez le service dans le champ OAuth Provider. Les champs de connexion dépendent du service choisi. Exemple de configuration : Google.
Pour mettre en place un système d'autorisation et de vérification, procédez dans cet ordre :
- Créez un attribut de type "Users" contenant au moins trois champs : login, mot de passe et information de vérification (email).
- Attribuez les rôles correspondants aux attributs dans leurs paramètres.
- Créez un formulaire de type "Sign In and Registration" et indiquez-y l'ensemble d'attributs créé.
- Créez un fournisseur d'authentification et indiquez-y le formulaire créé.
Paramètres supplémentaires
Les paramètres supplémentaires concernent l'activation des utilisateurs et les jetons.
L'activation de l'utilisateur est une étape supplémentaire de l'inscription. Si l'activation des utilisateurs est désactivée, chaque utilisateur inscrit est activé automatiquement.
Seul un utilisateur activé peut utiliser les fonctions du système qui exigent une autorisation, par exemple créer une commande ou s'abonner à des événements.
Si vous cochez "Activate new users via code", les utilisateurs ne sont plus activés automatiquement. Un code leur est envoyé par le moyen défini dans le fournisseur, par exemple par e-mail. L'utilisateur n'est activé qu'après avoir confirmé son adresse e-mail en saisissant ce code.
Dès qu'un utilisateur a saisi ses données et envoyé sa demande d'inscription, il apparaît dans la liste générale des utilisateurs, même s'il n'est pas activé. Le paramètre "Number of days after which inactive users will be deleted" détermine combien de temps il reste dans cette liste s'il ne confirme pas son adresse e-mail, quelle qu'en soit la raison.
Les paramètres supplémentaires comprennent aussi ceux des jetons JWT.
- Mot secret pour la génération du jeton JWT : mot qui sert de clé de chiffrement du jeton. Un mot unique renforce la sécurité.
- Durée de vie du jeton d'autorisation (en s) : durée pendant laquelle le jeton est vérifié comme valide. Plus elle est courte, plus la connexion de l'utilisateur est sûre. En revanche, une durée trop courte multiplie les requêtes de l'utilisateur vers votre projet, ce qui nuit aux performances.
- Durée de vie du jeton de rafraîchissement (en s) (Refresh token life time) : durée de validité du jeton de rafraîchissement, qui permet à l'application d'obtenir un nouveau jeton d'autorisation sans que l'utilisateur se reconnecte.
- Durée de vie du code système (en s) : une fois ce délai écoulé après l'envoi du code à l'utilisateur (par exemple par e-mail), celui-ci peut demander un nouvel envoi.
- Longueur du code système : nombre de caractères du code système envoyé à l'utilisateur.
- Code système composé uniquement de chiffres : si cette case est cochée, l'utilisateur reçoit un code ne contenant que des chiffres. L'autorisation est moins fiable, mais cela peut être pratique, par exemple si l'utilisateur n'a pas accès à un clavier latin.
Suppression du fournisseur d'authentification
Vous pouvez supprimer un fournisseur dans la sous-section Authentication Providers du menu des utilisateurs.
Sélectionnez le fournisseur dans la liste et cliquez sur l'icône de suppression .
Un fournisseur déjà utilisé par des utilisateurs ne peut pas être supprimé : il n'a pas d'icône de suppression dans la liste.