Autenticação SSO
O Single Sign-On (SSO) pré-autoriza os seus utilizadores no seu Voting Board Ducalis, eliminando o processo de login separado. Saberá exatamente quem submeteu cada Ideia.
👀 Demonstração ao vivo: Inicie sessão em Ducalis e depois visite https://feedback.ducalis.io/Ducalis-roadmap/summary. Verá o mesmo login, email, nome, avatar e nome da empresa aplicados automaticamente.
Porquê usar SSO
Identifique os seus utilizadores: Compreender quem submeteu cada Ideia fornece contexto essencial para o feedback. O SSO garante que sabe exatamente que utilizadores forneceram que feedback.
Voting Boards privados exigem SSO. O widget verifica a identidade e permissões de cada utilizador antes de apresentar qualquer conteúdo. Sem SSO, o widget não carregará para ninguém.
Experiência fluida: Os utilizadores não precisam de iniciar sessão separadamente para submeter Ideias ou votar. Podem subscrever o changelog do seu produto com um clique.
Segurança: A Verificação de Identidade mantém as conversas privadas e previne personificação. Recomendamos vivamente que todos os clientes Ducalis ativem a Verificação de Identidade.
Obter o código do widget
-
Aceda às Settings (Definições) do Voting Board.
-
Selecione Embed (Incorporar) e siga as instruções.
Configurar parâmetros de autenticação
Estenda o código do seu widget com parâmetros 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>
Parâmetros de utilizador
email (obrigatório): Email do utilizador registado no seu produto. Os utilizadores devem subscrever explicitamente o changelog ou atualizações do Voting Board com dupla confirmação. O email é visível apenas para os seus colegas de equipa Ducalis dentro do seu board.
hash (obrigatório): Verificação de segurança de identidade. Consulte Gerar hash de utilizador abaixo.
userID (opcional): Identificação única do seu produto para o utilizador com sessão iniciada.
name (opcional): Nome do utilizador no seu produto. Apresentado como votante e autor da Ideia. Visível apenas para os seus colegas de equipa Ducalis dentro do seu board.
avatar (opcional): Avatar do utilizador do seu produto. Apresentado no seu board ao avaliar feedback. Clarifica quem votou e em que votaram.
company (opcional): Nome da organização se o seu produto tiver contas agrupadas. Recomendado para visualizar pedidos do Voting Board agrupados por organização.
Para feedback individual de clientes
Se o seu feedback vier principalmente de utilizadores individuais em vez de empresas, utilize os dados do utilizador para o parâmetro company (por exemplo, nome do utilizador ou email). Isto permite-lhe trabalhar com dados ao nível da empresa onde empresa equivale ao nome do utilizador.
Adicionar campos personalizados
Adicione dados de contexto personalizados para cada Votante para capturar informações adicionais como vendas, ARR ou segmento de mercado. O feedback pode diferir com base no tamanho da empresa, mercado ou idade do cliente.
Em Ducalis, segmente por estes dados para analisar padrões de feedback dos utilizadores mais profundamente.
Estenda o código do seu widget com parâmetros 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 (obrigatório): Campos obrigatórios ao passar dados de contexto personalizados.
customFields: Adicione qualquer número de propriedades personalizadas. Por exemplo, status: "Active" ou arr: 50000.
Gerar hash de utilizador
Para permitir que os seus utilizadores votem imediatamente em Ideias ou as criem no Voting Board Ducalis, passe os seus dados para o widget. Ducalis verifica que o utilizador veio do seu site ao verificar a chave hash juntamente com os dados do utilizador.
O hash é gerado usando o algoritmo HMAC com SHA-256. Utilize o email do utilizador como valor e a chave secreta da sua organização como chave.
-
Encontre o segredo da sua aplicação nas definições globais da organização:
-
Verifique a geração de hash de utilizador em https://www.freeformatter.com/hmac-generator.html
Exemplos de geração de hash
Node.js:
const crypto = require("crypto");
// Put your secret key here (keep it private!)
// 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;
Utilizar o seu domínio
Por predefinição, o seu Voting Board está localizado no domínio hi.ducalis.io, como https://feedback.ducalis.io/Ducalis-roadmap/summary.
Os navegadores modernos bloqueiam cookies entre domínios, tornando impossível a identificação de utilizadores sem um domínio personalizado.
Para uma experiência fluida no Voting Board, coloque o seu Voting Board no mesmo domínio de segundo nível que o seu produto e as páginas onde incorpora widgets. Isto mantém os utilizadores identificados tanto dentro do widget como do Voting Board.
Consulte Configurar um domínio personalizado para configurar o endereço do seu Voting Board como ideas.nomedasuaempresa.com.
Exemplo de autenticação entre domínios
O seu domínio é superproduto.com. O seu produto funciona em app.superproduto.com, páginas de marketing em superproduto.com e centro de ajuda em help.superproduto.com. Ligue o seu Voting Board Ducalis ao mesmo domínio, como voting.superproduto.com.
Só então todos os seus utilizadores serão identificados com as mesmas credenciais tanto no widget como no Voting Board.