Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 7516fcdbbaf5654f8ce245377a878be5bedfa3a9 https://github.com/WebKit/WebKit/commit/7516fcdbbaf5654f8ce245377a878be5bedfa3a9 Author: Pascoe <pas...@apple.com> 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 webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes