Let's say I run my own full node. I also use some browser extention-based wallet that'd normally use Infura as a gateway. Think of Metamask.
Now I want to switch "Infura" to my own full node. However, I also want allow some kind of authorization/authentication. That is, only certain wallets, from white-list, may be allowed to connect to and use my node. It's not about restricting by IP, but by wallet address.
How to do it?
P.S. if that has to involve writing custom code on any level, or even recompilation of a node with custom code, I'll be ok with it.