
MetaMask Gate-In
Concept of allowing MetaMask to user login to a mutliplayer game with native code.
Demo
About
Allows MetaMask users to sign a text from a multiplayer server to prove their identity without needing native code in the Unity3D project or exposing private key. The concept is to avoid native code in Unity that are often a majors issue to deal with on a rainbow of situation possible, while allowing to use the power of asymmetric cryptography and Ethereum.
How it's made
- Server sends a message to sign to the Unity client. - Unity client opens a browser on a static JavaScript page on GitHub. - The page contacts MetaMask, requesting to sign the message. - The message, public address, and the signed message are concatenated in the clipboard. - By coming back to the Unity application, the proof of his identity from the GUID is sent to the server. - The server uses a local validation tool to validate that the message is signed by the user. - It sends back a message to the player that it was validated or refused. And like that, we have a server that can identify an anonymous player in a tournament based on his public key without risking the user accidentally exposing his private key.