[services][identity] wallet login
Summary:
Full implementation of wallet login. Steps:
- Parse SIWE message and signature from request
- Verify message using siwe-rs crate
- If verification is successful, generate a token, store it in the token table in DynamoDB, and then return it to the caller
Note that PAKE login is not covered here. It will be in a separate diff.
Test Plan: Successfully signed in with a metamask wallet
Reviewers: karol-bisztyga, palys-swm
Reviewed By: palys-swm
Subscribers: ashoat, Adrian, atul, yayabosh
Differential Revision: https://phab.comm.dev/D4285