spruceid / siwe-py

A Python implementation of Sign-In with Ethereum
https://login.xyz
Apache License 2.0
66 stars 28 forks source link

Parsing/Validation and Verification #24

Closed awoie closed 2 years ago

awoie commented 2 years ago

We should make sure the terms validation and verification are used consistently. We should validate a SIWE message when it is parsed or created. Validation includes schema validation and making sure the message complies with EIP-4361 spec. Verification means the EIP-191 signature is correct and is verified against a given optional domain, timestamp, nonce etc.

For this I propose, we do the following for validation:

As a result of the validation above, it should not be possible to get a SIWE message that is invalid. Then verification includes the following:

awoie commented 2 years ago

PR ready by today. paython and sam/simon might be good candidates to review once ready.

sbihel commented 2 years ago

Closed by #27