Rust Canister Signature verification

Noob question but how do you guys handle authentication/signing with private keys your update/query calls for different wallets on rust?

What is the best approach? For example I was thinking about some kind of whitelist of principals but not sure how it would handle the signing verification for the private key

Any help is very much appreciated!