A lightweight C++23 Firebase Authentication verification daemon using libev and Unix domain sockets for fast local IPC.
- Firebase ID token verification
- Unix domain socket IPC
- libev-based event loop
- JSON request/response using Boost.JSON
- Lightweight daemon-style design
- Linux
- GCC 15+ or C++23 compatible compiler
- libev
- Boost.JSON
Ubuntu/Debian:
sudo apt update
sudo apt install g++ libev-dev libboost-json-devchmod +x scripts/makeGpp.sh
./scripts/makeGpp.shOutput:
build/Release/fauth.out
chmod +x scripts/startServer.sh
./scripts/startServer.shDefault Unix socket path:
/tmp/myUtils/fauth
Send JSON to the Unix socket:
{
"cmd": "verfToken",
"projectId": "your-firebase-project-id",
"token": "firebase-id-token"
}printf '%s' '{"cmd":"verfToken","projectId":"your-project-id","token":"your-id-token"}' | socat - UNIX-CONNECT:/tmp/myUtils/fauthPretty print:
printf '%s' '{"cmd":"verfToken","projectId":"your-project-id","token":"your-id-token"}' | socat - UNIX-CONNECT:/tmp/myUtils/fauth | jq .printf '%s' '{"cmd":"verfToken","projectId":"your-project-id","token":"your-id-token"}' | nc -U -q 0 /tmp/myUtils/fauthSuccess:
{
"success": true,
"idtoken": {}
}Error:
{
"success": false,
"error": "error message"
}- Do not commit private keys, tokens,
.env, or Firebase service account JSON files. - This daemon uses one-request-one-response socket flow.
- Client should send request, shutdown write side, then read response until EOF.
MIT License
This project is free and open-source under the MIT License.
This project is free and open-source under the MIT License.
Commercial / paid support is available for:
- installation and setup
- integration with C++/Drogon applications
- Firebase Auth integration
- Unix socket IPC customization
- systemd deployment
- debugging and performance tuning
- custom feature development
For paid/commercial support, contact:
- Email: support@mohitkrgupta.dev
- GitHub: https://github.com/newmkg