Connect authenticator-rs's WebDriver implementation to GeckoDriver
Categories
(Testing :: geckodriver, enhancement, P1)
Tracking
(firefox118 fixed)
Tracking | Status | |
---|---|---|
firefox118 | --- | fixed |
People
(Reporter: jcj, Assigned: keeler)
References
(Blocks 3 open bugs)
Details
(Whiteboard: [webdriver:m8][webdriver:external], [wptsync upstream])
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
Authenticator-rs has an optional feature webdriver
which exposes a web service designed to implement the Virtual Authenticator API from WebAuthn.
The necessary work to hook it up and enable those Web Platform Tests is:
- Make Gecko compile-in the webdriver feature
- Make Gecko initialize the web service via the C interface when running in GeckoDriver mode. This will require a new C API point in authenticator-rs (https://github.com/mozilla/authenticator-rs/issues/144)
- Add code to GeckoDriver (mozilla-central/testing/geckodriver/src) to proxy requests for
/session/{session id}/webauthn
to the authenticator-rs service, stripping off the/session/{session id}
portion that GeckoDriver has to manage. (See https://github.com/mozilla/authenticator-rs/blob/main/webdriver-tools/webdriver-driver.py for example of what the authenticator-rs code expects) - Add code to GeckoDriver's capabilities model (https://searchfox.org/mozilla-central/source/testing/geckodriver/src/capabilities.rs) to reveal that WebAuthn is supported
Comment 1•4 years ago
|
||
Note that at step 3 we want to hook up marionette to authenticator_rs; that's where the actual implementation of WebDriver commands lives and will be enough to get the wpt working (since it uses marionette directly). GeckoDriver itself is more or less just a proxy between HTTP and marionette, so there are some changes required there but it's mostly just boilerplate.
I can provide any help required with the GeckoDriver and marionette parts.
Comment 2•4 years ago
|
||
The severity field is not set for this bug.
:jcj, could you have a look please?
For more information, please visit auto_nag documentation.
Reporter | ||
Updated•4 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Comment 3•2 years ago
|
||
Comment 4•2 years ago
|
||
As this is work on geckodriver I'm going ahead and moving this bug to the appropriate component.
Updated•2 years ago
|
Updated•2 years ago
|
Comment 5•2 years ago
|
||
The bug assignee is inactive on Bugzilla, and this bug has priority 'P1'.
:whimboo, could you have a look please?
For more information, please visit auto_nag documentation.
Updated•2 years ago
|
Updated•2 years ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Comment 8•1 year ago
|
||
Backed out for bustages on command.rs
Backout link: https://hg.mozilla.org/integration/autoland/rev/5954ce91542de618e7ccfc10bdfc5368b9160cb2
Log link: https://treeherder.mozilla.org/logviewer?job_id=425235238&repo=autoland&lineNumber=5933
Comment 10•1 year ago
|
||
Assignee | ||
Updated•1 year ago
|
Comment 11•1 year ago
|
||
Backed out for causing wpt failures in response.py
- Backout link
- Push with failures
- Failure Log
- Failure line: TEST-UNEXPECTED-FAIL | /webdriver/tests/classic/new_session/response.py | test_capability_type[webauthn:extension:credBlob-bool] - AssertionError: assert 'webauthn:extension:credBlob' in {'acceptInsecureCerts': False, 'browserName': 'firefox', 'browserVersion': '118.0a1', 'moz:accessibilityChecks': False, ...}
Assignee | ||
Updated•1 year ago
|
Comment 13•1 year ago
|
||
Comment 14•1 year ago
|
||
bugherder |
Comment 16•1 year ago
|
||
There is actually a problem with merging the upstream PR because the infrastructure test is failing:
https://github.com/web-platform-tests/wpt/pull/41377/checks?check_run_id=15772568550
Dana, can you please have a look?
Comment 17•1 year ago
|
||
(In reply to Henrik Skupin [:whimboo][⌚️UTC+2] from comment #16)
There is actually a problem with merging the upstream PR because the infrastructure test is failing:
https://github.com/web-platform-tests/wpt/pull/41377/checks?check_run_id=15772568550
Actually the following error might mean that we need a new marionette client release? James, is that correct? It at least doesn't fail in our CI which would explain that.
0:15.65 CRITICAL Traceback (most recent call last):
File "/home/test/web-platform-tests/tools/wptrunner/wptrunner/testrunner.py", line 158, in start_runner
executor = executor_cls(logger, browser, **executor_kwargs)
File "/home/test/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py", line 1275, in __init__
MarionetteRefTestExecutor.__init__(self,
File "/home/test/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py", line 1010, in __init__
self.protocol = MarionetteProtocol(self, browser, capabilities,
File "/home/test/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py", line 745, in __init__
do_delayed_imports()
File "/home/test/web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py", line 55, in do_delayed_imports
from marionette_driver.webauthn import WebAuthn
ModuleNotFoundError: No module named 'marionette_driver.webauthn'
Description
•