Trigger WebSocket
Rulați un workflow pe baza mesajelor trimise printr-o conexiune WebSocket și retransmiteți mesaje între peer-ii conectați.
Prezentare generală
Un trigger WebSocket oferă workflow-ului un endpoint în timp real. Browserele se conectează la el cu ?room=ID, iar fiecare mesaj este retransmis celorlalți peer-i din acea cameră (room). Retransmiterea are loc în runtime și nu consumă rulări de workflow. Activați Run the flow on every message când workflow-ul trebuie să proceseze și fiecare mesaj, de exemplu pentru a salva mesajele de chat sau pentru a răspunde cu un model AI prin intermediul unui nod Realtime Send.
Endpoint
| Câmp |
Descriere |
Implicit |
Path |
Calea endpoint-ului, de exemplu realtime/chat |
- |
Autentificare
| Câmp |
Descriere |
Implicit |
Require Authentication |
Validează un JWT în timpul handshake-ului conexiunii |
Activat |
Token Source |
Subprotocol, Query param sau First message. Subprotocol trimite ['ubex.jwt', '<token>'] ca protocoale WebSocket și este recomandat, deoarece query string-urile ajung în jurnalele de acces |
Subprotocol |
JWT Secret |
Un secret din Vault |
- |
Algorithm |
HS256, HS384 sau HS512 |
HS256 |
Camere și difuzare
| Câmp |
Descriere |
Implicit |
Broadcast Mode |
All peers (including sender), Other peers (exclude sender) sau Targeted (flow decides) |
Other peers |
Who can join a room |
Any room sau Match pattern pentru a restricționa camerele. Cu Any room, orice conexiune autentificată se poate alătura oricărei camere, inclusiv uneia care aparține altcuiva |
Any room |
Max Peers Per Room |
Conexiuni per cameră |
50 |
Max Concurrent Rooms |
Camere deschise în același timp |
100 |
Prezență
| Câmp |
Descriere |
Implicit |
Emit Presence Events |
Anunță camera când un peer se alătură sau pleacă |
Activat |
Identity Claim |
Claim-ul JWT folosit ca sender_id |
email |
Invocarea fluxului
| Câmp |
Descriere |
Implicit |
Run the flow on every message |
Lăsați dezactivat pentru a doar retransmite mesajele în runtime, fără a consuma rulări de workflow |
Dezactivat |
Avansat
| Câmp |
Descriere |
Implicit |
Sender Identity |
Server (from the token) sau Client (trust the payload). Identitatea de server suprascrie orice câmp de expeditor din payload, astfel încât un peer nu se poate da drept altcineva |
Server |
Max Payload Size |
Octeți per mesaj |
65536 |
Rate Limit |
Mesaje pe secundă, per conexiune |
30 |
Ping Interval |
Secunde |
30 |
Pong Timeout |
Secunde până când peer-ul este considerat deconectat |
10 |
Idle Timeout |
Secunde. Ping și pong contează ca activitate |
86400 |
CORS Origins |
Listă opțională de origini permise |
- |
Bune practici
- Păstrați Require Authentication activat și folosiți Match pattern pentru ca utilizatorii să se poată alătura doar propriilor camere.
- Lăsați Run the flow on every message dezactivat pentru simple retransmiteri de chat; activați-l doar când fiecare mesaj trebuie procesat.