/cairo-webauthn

Cairo verification of webauthn authentication credentials

Primary LanguageCairoGNU General Public License v3.0GPL-3.0

cairo-webauthn

A library for webauthn credential authentication. The library is under development.

Usage

Use the generic function:

verify_authentication_assertion<...>(...)

You have to provide corresponding trait implementations, used when the assertion ceremony 'communicates' with the 'outside world'. See src/webauthn.cairo for details. The function is written based on this specification.

Development

Tests

Some of the tests are auto-generated using python scripts. See the test_gen_scripts for details. The tests in src/tests/ which end in _gen_test.cairo are auto-generated and might be changed by the python script. You can write your tests manually, but make sure the name of the test file doesn't end in _gen_test.cairo, and you place the import "use ...;" below the auto-generated imports in src/tests.cairo.

To run the tests:

scarb test

To again generate the tests:

python test_gen_scripts/main.py

Python Enviroment

Use pyenv to have specific version of python easily. We use python3.9

pip install -r requirements.txt
python test_gen_scripts/main.py