Authentification SSO
Le Single Sign-On (SSO) pré-autorise vos utilisateurs sur votre Tableau de votes Ducalis, éliminant ainsi le processus de connexion séparé. Vous saurez exactement qui a soumis chaque Idée.
👀 Démo en direct : Connectez-vous à Ducalis, puis visitez https://feedback.ducalis.io/Ducalis-roadmap/summary. Vous verrez vos mêmes identifiants, email, nom, avatar et nom d'entreprise appliqués automatiquement.
Pourquoi utiliser le SSO
Identifiez vos utilisateurs : Comprendre qui a soumis chaque Idée fournit un contexte essentiel pour les retours. Le SSO garantit que vous savez exactement quels utilisateurs ont fourni quels retours.
Les Tableaux de votes privés nécessitent le SSO. Le widget vérifie l'identité et les permissions de chaque utilisateur avant d'afficher tout contenu. Sans SSO, le widget ne se chargera pour personne.
Expérience fluide : Les utilisateurs n'ont pas besoin de se connecter séparément pour soumettre des Idées ou voter. Ils peuvent s'abonner au journal des modifications de votre produit en un clic.
Sécurité : La vérification d'identité garde les conversations privées et empêche l'usurpation d'identité. Nous encourageons fortement tous les clients Ducalis à activer la vérification d'identité.
Obtenir le code du widget
-
Accédez aux Settings (Paramètres) du Tableau de votes.
-
Sélectionnez Embed (Intégrer) et suivez les instructions.
Configurer les paramètres d'authentification
Étendez votre code de widget avec les paramètres user :
<script>
!function(b,c,f,d,a,e){b.dclsPxl||(((d=b.dclsPxl=function(){d.callMethod?d.callMethod.apply(d,arguments):d.queue.push(arguments)}).push=d).queue=[],(a=c.createElement("script")).async=!0,a.src=f,(e=c.getElementsByTagName("script")[0]).parentNode.insertBefore(a,e))}(window,document,"https://hi.ducalis.io/js/widget.js")
dclsPxl("initWidget", {
appId: "_YOUR_APP_ID", // Required
boardId: "_YOUR_BOARD_ID", // Required
user: {
// required
email: "Your user Email",
hash: "User hash",
// optional
userID: "Your user ID",
name: "Your user Name",
avatar: "https://you-user-avatar-domain/avatar.png",
company: "Your user Company name",
},
});
</script>
Paramètres utilisateur
email (requis) : Email de l'utilisateur enregistré dans votre produit. Les utilisateurs doivent s'abonner explicitement au journal des modifications ou aux mises à jour du Tableau de votes avec double opt-in. L'email n'est visible que par vos coéquipiers Ducalis à l'intérieur de votre tableau.
hash (requis) : Vérification de sécurité de l'identité. Voir Générer le hash utilisateur ci-dessous.
userID (facultatif) : L'identification unique de votre produit pour l'utilisateur connecté.
name (facultatif) : Nom de l'utilisateur dans votre produit. S'affiche comme Votant et auteur d'Idée. Visible uniquement par vos coéquipiers Ducalis à l'intérieur de votre tableau.
avatar (facultatif) : Avatar de l'utilisateur depuis votre produit. S'affiche dans votre tableau lors de l'évaluation des retours. Clarifie qui a voté et pour quoi ils ont voté.
company (facultatif) : Nom de l'organisation si votre produit a des comptes groupés. Recommandé pour consulter les demandes du Tableau de votes groupées par organisation.
Pour les retours clients individuels
Si vos retours proviennent principalement d'utilisateurs individuels plutôt que d'entreprises, utilisez les données de l'utilisateur pour le paramètre company (par exemple, nom de l'utilisateur ou email). Cela vous permet de travailler avec des données au niveau entreprise où l'entreprise équivaut au nom de l'utilisateur.
Ajouter des champs personnalisés
Ajoutez des données de contexte personnalisées pour chaque Votant afin de capturer des informations supplémentaires comme les ventes, l'ARR ou le segment de marché. Les retours peuvent différer en fonction de la taille de l'entreprise, du marché ou de l'ancienneté du client.
Dans Ducalis, segmentez par ces données pour analyser les modèles de retours utilisateurs plus en profondeur.
Étendez votre code de widget avec les paramètres company :
<script>
!function(b,c,f,d,a,e){b.dclsPxl||(((d=b.dclsPxl=function(){d.callMethod?d.callMethod.apply(d,arguments):d.queue.push(arguments)}).push=d).queue=[],(a=c.createElement("script")).async=!0,a.src=f,(e=c.getElementsByTagName("script")[0]).parentNode.insertBefore(a,e))}(window,document,"https://hi.ducalis.io/js/widget.js")
dclsPxl("initWidget", {
appId: "_YOUR_APP_ID", // Required
boardId: "_YOUR_BOARD_ID", // Required
user: {
// required
email: "Your user Email",
hash: "User hash",
// optional
userID: "Your user ID",
name: "Your user Name",
avatar: "https://you-user-avatar-domain/avatar.png",
company: {
id: 123, // Required
name: "My Super Client", // Required
customFields: {
prop1: "Active",
prop2: 1.8
}
}
},
});
</script>
company.id, company.name (requis) : Champs requis lors du passage de données de contexte personnalisées.
customFields : Ajoutez autant de propriétés personnalisées que nécessaire. Par exemple, status: "Active" ou arr: 50000.
Générer le hash utilisateur
Pour permettre à vos utilisateurs de voter immédiatement pour des Idées ou d'en créer sur le Tableau de votes Ducalis, transmettez leurs données au widget. Ducalis vérifie que l'utilisateur provient de votre site en contrôlant la clé de hash avec les données utilisateur.
Le hash est généré en utilisant l'algorithme HMAC avec SHA-256. Utilisez l'email de l'utilisateur comme valeur et la clé secrète de votre organisation comme clé.
-
Trouvez le secret de votre application dans les paramètres globaux de l'organisation :
-
Vérifiez la génération du hash utilisateur sur https://www.freeformatter.com/hmac-generator.html
Exemples de génération de hash
Node.js :
const crypto = require("crypto");
// Mettez votre clé secrète ici (gardez-la privée !)
// Notice: the one below is an example, yours will be different
const secretKey = "0fd72e0ff53b274293029fd1f3f40c92123123123easf2edq312edwe";
var email = "user@gmail.com";
var hash = crypto.createHmac("sha256", secretKey).update(email).digest("hex");
console.log("hash is:", hash);
PHP :
$secret = '0fd72e0ff53b274293029fd1f3f40c92123123123easf2edq312edwe';
$email = 'user@gmail.com';
$hash = hash_hmac('sha256', $email, $secret);
echo 'Hash is: '. $hash;
Utiliser votre domaine
Par défaut, votre Tableau de votes est situé dans le domaine hi.ducalis.io, comme https://feedback.ducalis.io/Ducalis-roadmap/summary.
Les navigateurs modernes bloquent les cookies inter-domaines, rendant l'identification des utilisateurs impossible sans domaine personnalisé.
Pour une expérience fluide du Tableau de votes, placez votre Tableau de votes sur le même domaine de second niveau que votre produit et les pages où vous intégrez les widgets. Cela permet de garder les utilisateurs identifiés à la fois dans le widget et le Tableau de votes.
Consultez Configuration d'un domaine personnalisé pour configurer l'adresse de votre Tableau de votes comme ideas.nomdevotreentreprise.com.
Exemple d'authentification inter-domaines
Votre domaine est superproduct.com. Votre produit s'exécute sur app.superproduct.com, les pages marketing sur superproduct.com, et le centre d'aide sur help.superproduct.com. Connectez votre Tableau de votes Ducalis au même domaine, comme voting.superproduct.com.
Ainsi seulement tous vos utilisateurs seront identifiés avec les mêmes identifiants à la fois dans le widget et le Tableau de votes.