Carregue o script
Uma etiqueta a colocar em qualquer parte da página. Sem dependências.
Integre facilmente o Passly em seu site
Bastam três linhas para apresentar um gerador no seu site.
Uma etiqueta a colocar em qualquer parte da página. Sem dependências.
Uma div com a classe passly-widget, onde o gerador deve aparecer.
O widget inicializa-se sozinho, incluindo nos elementos adicionados posteriormente.
<!-- Passly Widget --> <script src="https://passly.fr/widget.js" ></script> <div class="passly-widget" data-length="16" data-format="random" data-lang="pt"></div>
Um widget simples com as opções predefinidas
<div class="passly-widget"></div>
Gera uma palavra-passe de 24 caracteres com todos os tipos de caracteres
<div class="passly-widget" data-length="24" data-special="true" data-exclude-similar="true"></div>
Preenche automaticamente um campo de formulário
<input type="text" id="my-password-field"> <div class="passly-widget" data-target="#my-password-field" data-length="20"></div>
Gera uma frase-passe fácil de memorizar
<div class="passly-widget" data-format="passphrase"></div>
| Atributo | Tipo | Predefinido | Descrição |
|---|---|---|---|
data-format | string | random | random, pronounceable ou passphrase |
data-length | integer | 16 | Comprimento da palavra-passe (4–128) |
data-words | integer | 4 | Frases-passe: número de palavras (3–10) |
data-separator | string | - | Frases-passe: separador entre as palavras |
data-auto-generate | boolean | true | Gerar uma palavra-passe logo ao carregar a página |
| Atributo | Tipo | Predefinido | Descrição |
|---|---|---|---|
data-lowercase | boolean | true | Letras minúsculas (a-z) |
data-uppercase | boolean | true | Letras maiúsculas (A-Z) |
data-digits | boolean | true | Números (0-9) |
data-special | boolean | false | Caracteres especiais (!@#$...) |
data-exclude-similar | boolean | false | Excluir caracteres similares (il1Lo0O) |
| Atributo | Tipo | Predefinido | Descrição |
|---|---|---|---|
data-target | string | — | Seletor CSS do campo a preencher automaticamente |
data-lang | string | fr | Idioma do widget (fr, en, es, de, it, pt, nl, ru, ja, zh) |
data-class | string | — | Classes CSS adicionais (temas, variantes) |
data-api | string | origem do script | Substitui o URL da API — colocar na etiqueta <script> |
Escolha um tema para ver a pré-visualização e obter a respetiva folha de estilos.
.passly-widget-wrapper.blue-theme { --passly-primary: #2563EB; --passly-primary-hover: #1D4ED8; --passly-primary-light: #3B82F6; --passly-bg: #111827; --passly-bg-card: #1F2937; --passly-text: #F3F4F6; --passly-text-light: #9CA3AF; --passly-border: #374151; background: linear-gradient(135deg, var(--passly-bg), var(--passly-bg-card)) !important; border: 1px solid var(--passly-primary) !important; } .passly-widget-wrapper.blue-theme .passly-generate-btn { background: linear-gradient(135deg, var(--passly-primary), var(--passly-primary-hover)) !important; }
Personalize completamente o aspeto do widget com as variáveis CSS e as classes disponíveis:
A menção «Desenvolvido por Passly» não pode ser ocultada: é reposta automaticamente. Pode, no entanto, personalizar livremente o seu estilo.
Crie o seu próprio tema personalizado em tempo real:
.passly-widget-wrapper.custom-theme { --passly-primary: #DC2626; --passly-primary-hover: #c81212; --passly-primary-light: #f03a3a; --passly-bg: #1A1A1A; --passly-text: #E8E8E8; --passly-border: #2A2A2A; --passly-radius: 10px; --passly-font-size: 15px; }
// Le widget s'initialise seul ; il suffit d'écouter ses événements.
document.addEventListener('DOMContentLoaded', () => {
document.querySelectorAll('.passly-widget').forEach((widget) => {
widget.addEventListener('passly:generated', (event) => {
console.log('Mot de passe généré :', event.detail.password);
console.log('Entropie :', event.detail.entropyBits, 'bits');
});
});
});
// Création dynamique
function createWidget(container) {
const widget = document.createElement('div');
widget.className = 'passly-widget';
widget.dataset.length = '20';
widget.dataset.special = 'true';
container.appendChild(widget);
// Facultatif : l'observateur interne détecte déjà les nouveaux nœuds.
window.PasslyWidget?.init(container);
}