Wallet Authentication
Verifying wallet ownership
Last updated
Verifying wallet ownership
Last updated
Authenticating a wallet means verifying the user is in control of the wallet they are connecting with. Wallet authentication is enabled by default, meaning that the user will be prompted to sign a message verifying their wallet once they click the 'Connect' button.
Once the user signs the request above, two things occur:
A window object is added
A window event is emitted
A window object containing the authentication state and connected address is added once a user has verified their wallet address. The object is stored in window.manifold
, and has the following structure:
This object is updated if the user switches wallets or disconnects.
There are two window events that are fired upon authentication and disconnect. These events can be observed by adding event listeners via window.addEventListener
m-authenticated
This event is fired upon authentication or if the user switches their wallet address. The event will also contain a reference to the Data Client, which you can access via event.detail.client
m-unauthenticated
This event is fired if the user disconnects from the website by clicking the 'Disconnect' button.
Additionally, there will be an m-authenticated
event fired upon authentication (and m-unauthenticated
if they click the "Disconnect" button).