Adds support for defined FIDO extensions (see CTAP2.1 and Webauthn specifications). This PR also adds simple framework for adding new extensions, by extending the Extension class and implementing relevant methods.
Extension processing happens during BasicWebauthnClient.makeCredential and BasicWebauthnClient.getAssertion calls, based on the creation and request options.
Results are exposed through PublicKeyCredential.getClientExtensionResults().
The following extensions are implemented:
hmac-secret
prf
credProps
credProtect
credBlob
largeBlob
minPinLength
A new BasicWebauthnClient constructor takes a list of Extension objects which it will process, by default the list contains defined extensions.
There are instrumented tests for each of the extensions (note that a supporting HW is needed for running the tests).
Adds support for defined FIDO extensions (see CTAP2.1 and Webauthn specifications). This PR also adds simple framework for adding new extensions, by extending the
Extension
class and implementing relevant methods.Extension processing happens during
BasicWebauthnClient.makeCredential
andBasicWebauthnClient.getAssertion
calls, based on the creation and request options.Results are exposed through
PublicKeyCredential.getClientExtensionResults()
.The following extensions are implemented:
A new BasicWebauthnClient constructor takes a list of Extension objects which it will process, by default the list contains defined extensions.
There are instrumented tests for each of the extensions (note that a supporting HW is needed for running the tests).