Este projeto é uma demonstração didática e prática do fluxo de Autenticação Sem Senha (Passkeys ou Chaves de Acesso) utilizando o padrão WebAuthn (FIDO2).
O objetivo principal é ilustrar o processo completo de Registro e Login criptográfico, mostrando a interação entre o navegador (cliente), a API WebAuthn e o servidor PHP.
http://localhost (desenvolvimento).
- 🪪 Fluxo Completo de Registro (Attestation): Demonstra a criação de uma credencial FIDO2 e o envio da chave pública para o servidor.
- 🔐 Fluxo Completo de Login (Assertion): Demonstra a prova de posse da chave privada usando biometria ou PIN do dispositivo.
- 🧠 Backend em PHP: Implementação do lado do servidor que gerencia os desafios criptográficos e a "simulação" da verificação de assinatura e credenciais.
- 💾 Armazenamento em Sessão PHP: As credenciais e dados do usuário são armazenados de forma não persistente na Sessão PHP (
$_SESSION) para fins estritamente demonstrativos. - 🛡️ Segurança e Modernidade: Substitui senhas por credenciais criptográficas de chave pública — a principal defesa contra phishing.
webauthn-fido2-php-demo/
📁 docs/
│ ├── index.html
│ └── auth_server.php
│ └── assets/
│ ├── css/style.css
│ └── js/script.js
├── README.md
├── .gitignore
└── LICENSE
👉 Acesse o site online
Digite o nome de usuário e clique em Registrar Nova Chave de Acessoa e veja o resultado instantaneamente na interface.
- 💻 HTML5 / CSS3
- 🎨 Tailwind CSS
- ⚡ JavaScript (ES6+)
- 🐘 PHP 8.3+
- Clone este repositório:
git clone https://github.com/ninomiquelino/webauthn-fido2-php-demo.git
Distribuído sob a licença MIT.
Consulte o arquivo LICENSE para mais detalhes.
Contribuições são sempre bem-vindas!
Sinta-se à vontade para abrir uma issue com sugestões ou enviar um pull request com melhorias.
📧 Entre em contato pelo LinkedIn
💻 Desenvolvido por Onivaldo Miquelino
| Badge | Significado |
|---|---|
| 🟣 Made with PHP | Indica a principal linguagem usada no backend |
| 🟡 Frontend JavaScript | Mostra a stack usada na interface |
| 🟦 TailwindCSS | Framework CSS usado para estilização moderna e responsiva |
| 🟢 License MIT | Mostra a licença do repositório |
| 💙 Version 1.0.0 | Versão estável do projeto |
| ✅ Status Stable | Mostra que o projeto está funcionando corretamente |