New issue
Advanced search Search tips

Issue 916568 link

Starred by 4 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Credential Management using navigator.credentials.store() not implemented in headless chrome.

Reported by halleniu...@gmail.com, Dec 19

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36

Steps to reproduce the problem:
1. The attached file needs to be run over https in order to work. I've hosted it on https://test.fairy.ninja:8443/trails/credentialmanagement.html (using self-signed cert, sorry about that). 
2. Click "Linky", you should get a "success" message in the console. 
3. Starting a headless chrome session using the command "google-chrome --headless --remote-debugging-port=9222 --ignore-certificate-errors --enable-features=NetworkService"
4. Visit 127.0.0.1:9222 and click the about:blank tab (or any tab). 
5. Browse to https://test.fairy.ninja:8443/trails/credentialmanagement.html and click "Linky". This time you will not get a "success" message but rather a "DOMException: The user agent does not support public key credentials." error.

What is the expected behavior?
Getting "success" both in "regular" Chrome and headless Chrome. 

What went wrong?
DOMException: The user agent does not support public key credentials.

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 70.0.3538.77  Channel: stable
OS Version: Ubuntu 18.04.1
Flash Version: 

After some Googling I stumbled upon this (https://chromium.googlesource.com/chromium/src/third_party/+/master/blink/renderer/modules/credentialmanager/scoped_promise_resolver.cc) which leads me to believe that this feature is simply not implemented when in headless mode.
 
credentialmanagement.html
375 bytes View Download
Components: Blink>SecurityFeature>CredentialManagement
Labels: Needs-Triage-M70
Components: Internals>Headless

Comment 4 by mkwst@chromium.org, Yesterday (44 hours ago)

Cc: kpaulhamus@chromium.org
Status: Available (was: Unconfirmed)
+kpaulhamus@ for opinions. It would be nice if this at least pretended to work in Headless so that it wasn't a trivial detection mechanism.

Comment 5 by kpaulhamus@chromium.org, Today (10 hours ago)

Hey Mike, isn't this WAI? navigator.credentials.store() is not supported for public key credentials in either headless and standard chrome. i.e., store() is meaningless for WebAuthn.

Sign in to add a comment