Feature: Configure forms with query parameters - #69
Open
dafenix wants to merge 4 commits into
Open
Conversation
Author
|
@florkaa what do you think about this feature? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
At the moment every time the debugger is used you have to manually configure the registration and authentication settings. This leads to a lot of manual work especially if you analyse a lot of special cases regarding browsers, authenticators and operating systems in the Passkey ecosystem.
This PR allows configuration of the register and authenticate settings with url query parameters. With this change you can easily create a link with your desired configuration.
How does it work:
Every given url parameter represents a path to an attribute in dom-elements.js . If a match is found the given url parameter value is set to the underyling dom element. If the element has a checkbox or his parent has a checkbox these checkboxes are automatically checked.
Checkbox values can be set with
true|falseFor a better user experience, some paths are shorter than they would normally be:
For example:
allowCredentials=usb,nfc,ble,internal
excludeCredentials=usb,nfc,ble,internal
Full Examples:
http://127.0.0.1:8000/debugger.html?allowCredentials=usb,nfc,ble,internal&excludeCredentials=usb,nfc,ble,internal
http://127.0.0.1:8000/debugger.html?relyingParty_id=qwertz&user_name=xxx&user_displayName=yyy&timeout=20000&excludeCredentials=usb,nfc,ble&authenticatorSelection_authenticatorAttachment=cross-platform&authenticatorSelection_residentKey=required&authenticatorSelection_requireResidentKey=true&authenticatorSelection_userVerification=required&attestation=direct&extensions_credProps=true&extensions_uvm=true
Testing
Specify a number of settings in the query parameters and check that everything is correctly applied to the registration and authentication settings.
Checklist
master