Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7516fcdbbaf5654f8ce245377a878be5bedfa3a9
https://github.com/WebKit/WebKit/commit/7516fcdbbaf5654f8ce245377a878be5bedfa3a9
Author: Pascoe <[email protected]>
Date: 2024-02-05 (Mon, 05 Feb 2024)
Changed paths:
M LayoutTests/TestExpectations
M Source/WebCore/Modules/credentialmanagement/CredentialsContainer.cpp
M Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp
M Source/WebCore/Modules/webauthn/AuthenticatorCoordinatorClient.h
M Source/WebCore/Modules/webauthn/AuthenticatorResponse.cpp
M Source/WebCore/Modules/webauthn/AuthenticatorResponse.h
M Source/WebCore/Modules/webauthn/AuthenticatorResponseData.h
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M
Source/WebKit/UIProcess/WebAuthentication/Cocoa/AuthenticationServicesForwardDeclarations.h
M
Source/WebKit/UIProcess/WebAuthentication/Cocoa/AuthenticationServicesSoftLink.h
M
Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm
M
Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp
M
Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h
M
Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in
M Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp
M Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.h
Log Message:
-----------
Reland [WebAuthn] Use AS APIs passing clientData for WebAuthn (274023@main)
https://bugs.webkit.org/show_bug.cgi?id=268748
rdar://problem/122313244
Reviewed by Brent Fulgham.
This got rolled out because we started generating the clientDataJSON for
requests
within AuthenticationServices, which isn't currently mocked for test
infrastructure.
To fix this we generate it within WACP manually whenever we are in a test. I've
created https://bugs.webkit.org/show_bug.cgi?id=268774 to address the test
development.
Original change description:
We need to be able to pass clientData to AS API in order to make assertions
and registerations in cases where callerOrigin is not the same as the passed
rp.id. This is required because of the way ClientDataJSON is validated.
This change stops generating ClientDataJSON in AuthenticatorCoordinator as
it's no longer possible to pass the raw bytes / hash along. Instead we construct
a ASPublicKeyCredentialClientData when creating the requests for ASController
and
include the callerOrigin there.
* Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp:
(WebCore::AuthenticatorCoordinator::create):
(WebCore::AuthenticatorCoordinator::discoverFromExternalSource):
* Source/WebCore/Modules/webauthn/AuthenticatorCoordinatorClient.h:
* Source/WebCore/Modules/webauthn/AuthenticatorResponse.cpp:
(WebCore::AuthenticatorResponse::tryCreate):
* Source/WebCore/Modules/webauthn/AuthenticatorResponseData.h:
(WebCore::AuthenticatorResponseData::AuthenticatorResponseData):
(WebCore::AuthenticatorResponseData::getSerializableForm const):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
*
Source/WebKit/UIProcess/WebAuthentication/Cocoa/AuthenticationServicesForwardDeclarations.h:
*
Source/WebKit/UIProcess/WebAuthentication/Cocoa/AuthenticationServicesSoftLink.h:
*
Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::WebAuthenticatorCoordinatorProxy::constructASController):
(WebKit::WebAuthenticatorCoordinatorProxy::requestsForRegisteration):
(WebKit::WebAuthenticatorCoordinatorProxy::requestsForAssertion):
(WebKit::WebAuthenticatorCoordinatorProxy::performRequest):
(WebKit::configureRegistrationRequestContext):
(WebKit::configureAssertionOptions):
(WebKit::configurationAssertionRequestContext):
(WebKit::WebAuthenticatorCoordinatorProxy::contextForRequest):
*
Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:
(WebKit::WebAuthenticatorCoordinatorProxy::makeCredential):
(WebKit::WebAuthenticatorCoordinatorProxy::getAssertion):
* Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
*
Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in:
* Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:
(WebKit::WebAuthenticatorCoordinator::makeCredential):
(WebKit::WebAuthenticatorCoordinator::getAssertion):
* Source/WebKit/WebProcess/WebAuthentication/WebAuthenticatorCoordinator.h:
Canonical link: https://commits.webkit.org/274120@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes