Description
Background
#367 requests to serve Universe stats with minimum prerequisites. E.g. Enable a universe server to respond to queries without requiring the client / user authenticate to the universe server:
add a config flag which allows anyone to access [(QueryAssetStats and UniverseStats)] RPC methods without needing to supply a macaroon
As a universe operator
I would like to respond to requests without requiring authentication from querying clients
in order to make access to my service easily available without the need to identification / user friction
As a universe operator
I would like to respond to requests without requiring authentication from querying clients
in order to not require Terminal users to be logged in to query Universe stats
Deliverables
-
Add universe config flag to reduce the server's required client authentication for (QueryAssetStats and UniverseStats) gRPC calls
Relevant additions to list of RPCs will be made here:
taproot-assets/rpcperms/interceptor.go
Lines 98 to 105 in 7a5d5ca
which was delivered in commit 1660aa7 -
Consider a holistic design / more comprehensive set, of the configuration flags if other, unspecified-in-this-issue, calls or services might also benefit from not needing authentication.
Alternative solutions
bake a custom macaroon with limited access to these RPCs only and hard-code that into the Terminal app
Advantages:
- Universe server could deny simple/naive resource exhaustion / DoS attempts
Disadvantages:
- Changes necessary to Terminal
- maintaining the hard-coded macaroons
- less private asset-retrieval requests