@@ -94,7 +94,7 @@ impl GatewayService {
9494 // - if RP ID is set, but origin's effective domain doesn't match
9595 // - query for related origins, if supported
9696 // - fail if not supported, or if RP ID doesn't match any related origins.
97- let ( make_cred_request, client_data_json ) =
97+ let make_cred_request =
9898 create_credential_request_try_into_ctap2 ( & request, & request_environment)
9999 . inspect_err ( |_| {
100100 tracing:: error!(
@@ -106,7 +106,7 @@ impl GatewayService {
106106 return Err ( WebAuthnError :: NotSupportedError ) ;
107107 }
108108 let cred_request =
109- CredentialRequest :: CreatePublicKeyCredentialRequest ( make_cred_request) ;
109+ CredentialRequest :: CreatePublicKeyCredentialRequest ( make_cred_request. clone ( ) ) ;
110110
111111 let response = self
112112 . request_controller
@@ -115,14 +115,14 @@ impl GatewayService {
115115
116116 if let CredentialResponse :: CreatePublicKeyCredentialResponse ( cred_response) = response {
117117 let public_key_response =
118- create_credential_response_try_from_ctap2 ( & cred_response, client_data_json )
118+ create_credential_response_try_from_ctap2 ( & cred_response, & make_cred_request )
119119 . map_err ( |err| {
120- tracing:: error!(
121- "Failed to parse credential response from authenticator: {err}"
122- ) ;
123- // Using NotAllowedError as a catch-all error.
124- WebAuthnError :: NotAllowedError
125- } ) ?;
120+ tracing:: error!(
121+ "Failed to parse credential response from authenticator: {err}"
122+ ) ;
123+ // Using NotAllowedError as a catch-all error.
124+ WebAuthnError :: NotAllowedError
125+ } ) ?;
126126 Ok ( public_key_response. into ( ) )
127127 } else {
128128 // TODO: is response safe to log here?
@@ -154,14 +154,15 @@ impl GatewayService {
154154 // - if RP ID is set, but origin's effective domain doesn't match
155155 // - query for related origins, if supported
156156 // - fail if not supported, or if RP ID doesn't match any related origins.
157- let ( get_cred_request, client_data_json ) =
157+ let get_cred_request =
158158 get_credential_request_try_into_ctap2 ( & request, & request_environment) . map_err (
159159 |e| {
160160 tracing:: error!( "Could not parse passkey assertion request: {e:?}" ) ;
161161 WebAuthnError :: TypeError
162162 } ,
163163 ) ?;
164- let cred_request = CredentialRequest :: GetPublicKeyCredentialRequest ( get_cred_request) ;
164+ let cred_request =
165+ CredentialRequest :: GetPublicKeyCredentialRequest ( get_cred_request. clone ( ) ) ;
165166
166167 let response = self
167168 . request_controller
@@ -170,7 +171,7 @@ impl GatewayService {
170171
171172 if let CredentialResponse :: GetPublicKeyCredentialResponse ( cred_response) = response {
172173 let public_key_response =
173- get_credential_response_try_from_ctap2 ( & cred_response, client_data_json )
174+ get_credential_response_try_from_ctap2 ( & cred_response, & get_cred_request )
174175 . map_err ( |err| {
175176 tracing:: error!(
176177 "Failed to parse credential response from authenticator: {err}"
0 commit comments