[Security] WebSocket clients can see all events from all sub-wallets
Anyone who knows the value of the X-API-Key can register a listener that can see all events from all sub-wallets. Hence, any sub-wallet can see all events from all sub-wallets. The current implementation works like this ...
- No X-API-Key => Connection success & Settings events (i.e. events that are not published by any particular sub-wallet)
- X-API-Key + No Bearer Authorization => Connection success & All events from all sub-wallets
- X-API-Key + Invalid Bearer Authorization => 401
- X-API-Key + Bearer Authorization => Connection success & All events from all sub-wallets
Expected Behaviour
- No X-API-Key => 401
- X-API-Key + No Bearer Authorization => 401
- X-API-Key + Invalid Bearer Authorization => 401
- X-API-Key + Bearer Authorization => Settings event & Events from the sub-wallet that owns this WS connection
In the case of credential revocation we have a notify option. Currently, Acme publishes the ISSUER CREDENTIAL_REVOKED event which Alice can see. With the above "Expected Behaviour" Alice would no longer see that.
I think it would be useful to have a simple way to get All events from all sub-Wallets. I currently have a large number of sub-wallets to manage and I can't open a WebSocket connection to all of them.
@shaangill025
- do you agree with tdiesler about the Expected Behaviour?
- do you think it is useful to have an extra way to get all events without opening a WS connection to each wallet?
thanks :)