Connexion sans mot de passe
Activez la connexion par simple nom d'utilisateur dans Potato, sans mot de passe — pratique pour les démonstrations en cours, les études rapides et les tâches dont l'authentification est gérée par une plateforme de crowdsourcing.
Potato prend en charge l'authentification sans mot de passe pour les tâches d'annotation à faible enjeu, où la facilité d'accès prime sur la sécurité. Les annotateurs se connectent alors avec un simple nom d'utilisateur.
Vue d'ensemble
La connexion sans mot de passe est utile pour :
- Mener des études d'annotation rapides avec des volontaires
- Organiser des sessions d'annotation en interne
- Tester des configurations d'annotation
- Travailler avec des plateformes de crowdsourcing qui gèrent l'authentification de leur côté
- Faire des exercices en cours ou des démonstrations
Configuration
Activez la connexion sans mot de passe avec require_password: false :
require_password: false
# Optional: Specify authentication method
authentication:
method: in_memory # DefaultMéthodes d'authentification
Potato propose trois backends d'authentification, tous compatibles avec le mode sans mot de passe :
En mémoire (par défaut)
Les utilisateurs ne sont stockés qu'en mémoire. Les données sont perdues au redémarrage du serveur.
require_password: false
authentication:
method: in_memoryBase de données
Les utilisateurs sont enregistrés dans une base de données :
export POTATO_DB_CONNECTION="sqlite:///users.db"require_password: false
authentication:
method: databaseSSO Clerk
Intégration avec Clerk pour l'authentification unique en entreprise :
export CLERK_API_KEY="your_api_key"
export CLERK_FRONTEND_API="your_frontend_api"authentication:
method: clerkFonctionnement
Avec le mode sans mot de passe activé
- L'utilisateur arrive sur la page de connexion
- Il saisit uniquement son nom d'utilisateur
- Le système le crée ou l'authentifie sans vérification de mot de passe
- Il passe directement à l'annotation
Inscription des utilisateurs
En mode sans mot de passe :
- Les nouveaux utilisateurs sont inscrits automatiquement à la première connexion
- Seul le nom d'utilisateur est requis
- Les autres données utilisateur (si elles sont configurées) sont toujours collectées
Points de sécurité
Le mode sans mot de passe n'offre qu'une sécurité minimale :
- Aucune vérification d'identité : n'importe qui peut revendiquer n'importe quel nom d'utilisateur
- Détournement de session : une session peut facilement être usurpée
- Journal d'audit non fiable : les actions d'un utilisateur ne peuvent pas être vérifiées cryptographiquement
Usages recommandés :
- Annotation en interne
- Exercices en cours
- Prototypage rapide
- Plateformes avec authentification externe (Prolific, MTurk)
Déconseillé pour :
- L'annotation de données sensibles
- Les tâches d'annotation médicales ou juridiques
- Les tâches qui exigent une identité d'annotateur vérifiée
- Les études longues avec rémunération
Fichier de configuration des utilisateurs
Même en mode sans mot de passe, vous pouvez préinscrire des utilisateurs :
authentication:
user_config_path: users.jsonlusers.jsonl :
{"username": "annotator1"}
{"username": "annotator2"}
{"username": "admin", "role": "admin"}Migration
Du mode avec mot de passe vers le mode sans mot de passe
- Modifiez la configuration :
yaml
require_password: false - Les utilisateurs existants peuvent toujours se connecter, avec ou sans leur mot de passe
Du mode sans mot de passe vers le mode avec mot de passe
- Modifiez la configuration :
yaml
require_password: true - Les utilisateurs déjà inscrits sans mot de passe devront s'inscrire à nouveau avec un mot de passe
Exemple complet
annotation_task_name: "Quick Annotation Task"
# Enable passwordless login for easy access
require_password: false
# Use database backend to persist users
authentication:
method: database
# Task configuration
data_files:
- data/instances.json
item_properties:
id_key: id
text_key: text
annotation_schemes:
- name: sentiment
annotation_type: radio
labels: [Positive, Negative, Neutral]
description: "Select the sentiment"Dépannage
Les utilisateurs n'arrivent pas à se connecter
Vérifiez que :
require_password: falsefigure bien dans la configuration- Le backend d'authentification est correctement initialisé
- Aucun autre réglage d'authentification n'entre en conflit
Les données utilisateur ne sont pas conservées
Avec le backend in_memory :
- Les données utilisateur sont perdues au redémarrage du serveur
- Passez au backend
databasepour les conserver
Erreurs de nom d'utilisateur en double
En mode sans mot de passe, un utilisateur qui tente de s'inscrire avec un nom déjà pris est simplement connecté en tant que cet utilisateur. C'est voulu, par souci de simplicité.
Pour aller plus loin
- Gestion des utilisateurs - Fonctions de gestion des utilisateurs
- Intégration crowdsourcing - Intégration avec les plateformes
Pour les détails d'implémentation, consultez la documentation source.