Only call WebAuthN code when requesting a `publicKey` credential
Categories
(Core :: DOM: Credential Management, enhancement, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox106 | --- | fixed |
People
(Reporter: bvandersloot, Assigned: bvandersloot)
References
Details
Attachments
(1 file)
Right now the Credential Management API is just a clean pass-through to the WebAuthN code. We want to multiplex between the credential types when there is more than one. To support that, let's multiplex 1:1 to start.
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 1•3 years ago
|
||
This may look unnecessary now, but opens up the Credential Manager API to be used by FedCM
and any other Credential variants.
I also opened up the API to allow rejecting with different error types.
And there are some tests to support this
Depends on D153586
Updated•3 years ago
|
Comment hidden (off-topic) |
Comment hidden (off-topic) |
Comment 5•2 years ago
•
|
||
Backed out 14 changesets (bug 1782080, bug 1782083, bug 1782085, bug 1782081) for causing mochitest failures in dom/credentialmanagement/identity/tests/mochitest/test_simple.html
Backout link: https://hg.mozilla.org/integration/autoland/rev/93a9b1ba6411a636b3f34e72ecef52fe87daca81
/builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang++ --sysroot /builds/worker/fetches/MacOSX11.3.sdk -mmacosx-version-min=10.12 -stdlib=libc++ -std=gnu++17 --target=x86_64-apple-darwin -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Qunused-arguments -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wdeprecated-this-capture -Wempty-body -Wformat-type-confusion -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wno-error=tautological-type-limit-compare -Wunreachable-code -Wunreachable-code-return -Wunused-but-set-parameter -Wno-invalid-offsetof -Wclass-varargs -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wno-range-loop-analysis -Wc++2a-compat -Wenum-compare-conditional -Wno-ambiguous-reversed-operator -Wno-error=deprecated -Wno-error=deprecated-anon-enum-enum-conversion -Wno-error=deprecated-enum-enum-conversion -Wno-error=deprecated-enum-float-conversion -Wno-error=deprecated-pragma -Wno-error=deprecated-this-capture -Wno-error=deprecated-volatile -Wcomma -Wimplicit-fallthrough -Wduplicate-method-arg -Wduplicate-method-match -Wmissing-method-return-type -Wobjc-signed-char-bool -Wsemicolon-before-method-body -Wsuper-class-method-mismatch -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-psabi -Wthread-safety -Werror=unguarded-availability-new -Wno-unknown-warning-option -fno-sized-deallocation -fno-aligned-new -fcrash-diagnostics-dir=/builds/worker/artifacts -fno-exceptions -fPIC -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -gdwarf-4 -Xclang -load -Xclang /builds/worker/workspace/obj-build/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O3 -fno-omit-frame-pointer -funwind-tables -Werror -o XUL -Wl,-filelist,/builds/worker/workspace/obj-build/toolkit/library/gtest/XUL.list -fstack-protector-strong '-Wl,-U,_OBJC_CLASS_$_NSTouchBar' '-Wl,-U,_OBJC_CLASS_$_NSSharingServicePickerTouchBarItem' '-Wl,-U,_OBJC_METACLASS_$_NSTouchBar' '-Wl,-U,_OBJC_CLASS_$_NSCustomTouchBarItem' '-Wl,-U,_OBJC_CLASS_$_NSPopoverTouchBarItem' -lresolv -Wl,-dead_strip ../../../security/nss/lib/crmf/crmf_crmf/libcrmf.a ../../../js/src/build/libjs_static.a /builds/worker/workspace/obj-build/x86_64-apple-darwin/release/libgkrust_gtest.a ../../../security/libnss3.dylib ../../../config/external/lgpllibs/liblgpllibs.dylib ../../../mozglue/build/libmozglue.dylib -dynamiclib -install_name @rpath/XUL -compatibility_version 1 -current_version 1 -framework AudioUnit -framework CoreAudio -lbsm -framework IOSurface -framework IOKit -framework AudioToolbox -framework CoreMedia -framework VideoToolbox -Wl,-U,_VTRegisterSupplementalVideoDecoderIfAvailable -Wl,-U,_VTIsHardwareDecodeSupported -framework Vision -framework LocalAuthentication -framework Security -lm -framework Foundation -framework CoreFoundation -framework CoreLocation -framework QuartzCore -framework Carbon -framework CoreVideo -framework AddressBook -framework OpenGL -framework ServiceManagement -framework CoreServices -framework ApplicationServices -framework AppKit -framework CoreMIDI -framework SystemConfiguration -framework AVFoundation -F/builds/worker/fetches/MacOSX11.3.sdk/System/Library/PrivateFrameworks -framework CoreUI -framework CoreSymbolication -lcups -weak_framework Metal -weak_framework MediaPlayer
[task 2022-09-13T17:09:08.145Z] 17:09:08 INFO - Undefined symbols for architecture x86_64:
[task 2022-09-13T17:09:08.146Z] 17:09:08 INFO - "__ZN7mozilla3dom18FetchJSONStructureINS0_13IdentityTokenENS_10MozPromiseIS2_8nsresultLb1EEEEE6RefPtrIT0_EPNS0_7RequestE", referenced from:
[task 2022-09-13T17:09:08.146Z] 17:09:08 INFO - __ZN7mozilla3dom18IdentityCredential10FetchTokenEP12nsIPrincipalRKNS0_16IdentityProviderERKNS0_24IdentityInternalManifestERKNS0_15IdentityAccountE in IdentityCredential.o
[task 2022-09-13T17:09:08.146Z] 17:09:08 INFO - "__ZN7mozilla3dom18FetchJSONStructureINS0_24IdentityInternalManifestENS_10MozPromiseIS2_8nsresultLb1EEEEE6RefPtrIT0_EPNS0_7RequestE", referenced from:
[task 2022-09-13T17:09:08.146Z] 17:09:08 INFO - __ZN7mozilla3dom18IdentityCredential21FetchInternalManifestEP12nsIPrincipalRKNS0_16IdentityProviderE in IdentityCredential.o
[task 2022-09-13T17:09:08.147Z] 17:09:08 INFO - "__ZN7mozilla3dom18FetchJSONStructureINS0_19IdentityAccountListENS_10MozPromiseIS2_8nsresultLb1EEEEE6RefPtrIT0_EPNS0_7RequestE", referenced from:
[task 2022-09-13T17:09:08.147Z] 17:09:08 INFO - __ZN7mozilla3dom18IdentityCredential16FetchAccountListEP12nsIPrincipalRKNS0_16IdentityProviderERKNS0_24IdentityInternalManifestE in IdentityCredential.o
[task 2022-09-13T17:09:08.147Z] 17:09:08 INFO - "__ZN7mozilla3dom18FetchJSONStructureINS0_20IdentityRootManifestENS_10MozPromiseIS2_8nsresultLb1EEEEE6RefPtrIT0_EPNS0_7RequestE", referenced from:
[task 2022-09-13T17:09:08.147Z] 17:09:08 INFO - __ZN7mozilla3dom18IdentityCredential17CheckRootManifestEP12nsIPrincipalRKNS0_16IdentityProviderE in IdentityCredential.o
[task 2022-09-13T17:09:08.148Z] 17:09:08 INFO - ld: symbol(s) not found for architecture x86_64
[task 2022-09-13T17:09:08.148Z] 17:09:08 INFO - clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
[task 2022-09-13T17:09:08.148Z] 17:09:08 ERROR - gmake[4]: *** [/builds/worker/checkouts/gecko/config/rules.mk:540: XUL] Error 1
TEST-UNEXPECTED-FAIL | dom/credentialmanagement/identity/tests/mochitest/test_simple.html | must not have an error
TEST-UNEXPECTED-FAIL | dom/credentialmanagement/identity/tests/mochitest/test_two_accounts.html | must not have an error
Assignee | ||
Comment 6•2 years ago
|
||
The last set of changes to the patches for 1782083 broke this stack due to a histedit error. Fixing and resubmitting.
Comment 8•2 years ago
|
||
Backed out 14 changesets (bug 1782080, bug 1782083, bug 1782085, bug 1782081) for causing bp-hybrid bustage
Backout link: https://hg.mozilla.org/integration/autoland/rev/3a690f1d952cef19284f70c79d49295933387572
Assignee | ||
Comment 9•2 years ago
|
||
It looks like I found the issue in the definition of my templated functions and how they are specified in dom/credentialmanagement/identity/moz.build
. I've modified patches in D155722 and D155723 to build locally and in https://treeherder.mozilla.org/jobs?repo=try&revision=196e53fef2718edc8711b690e0c2879a2be35060 .
Comment 10•2 years ago
|
||
Comment 11•2 years ago
|
||
bugherder |
Description
•