4: Inloggegevens en afscherming
phloWA raakt een echt telefoonnummer en een echte accountsessie aan. De regel voor het hele platform is eenvoudig: geen geheimen en geen nummers in de repository, ooit.
4.1: Waar geheimen leven
security/creds haalt in volgorde de inloggegevens op uit data/creds.ini en omgevingsvariabelen, en verpakt ze zodat ze niet per ongeluk worden afgedrukt:
[whatsapp]
url = http://127.0.0.1:8081
secret = a-long-random-shared-secret
prop endpoint => (string)(%creds->whatsapp?->url ?? '')
prop secret => (string)(%creds->whatsapp?->secret ?? '')
Dezelfde waarden kunnen in plaats daarvan komen van de PHLO__whatsapp__url en PHLO__whatsapp__secret omgevingsvariabelen, die je in productie gebruikt.
4.2: Wat te gitignore
| Pad | Waarom |
|---|---|
data/creds.ini |
de gateway-URL en geheim |
.env |
omgevingsgeheimen |
.wwebjs_auth/, .wwebjs_cache/ |
de gekoppelde WhatsApp-sessie |
data/received.json, uploads |
echte nummers en berichtinhoud |
Commit een creds.ini.example met plaatsaanduidingen zodat anderen weten wat ze moeten invullen.
4.3: Inert zonder referenties
Ontwerp de app zodat deze veilig is zonder inloggegevens: als het geheim leeg is, worden de verzendingen een "niet geconfigureerd" toast en wijst de webhook elk verzoek af. De demo wordt openbaar gedeployed in precies deze staat en wordt pas live zodra je je eigen creds.ini toevoegt.