Skip to content

Commit b4e15a8

Browse files
NiskerAlfioEmanueleFresta
authored andcommitted
fix: Yubikey ERR when NextCred is not handled statefully
1 parent c466fbf commit b4e15a8

1 file changed

Lines changed: 4 additions & 38 deletions

File tree

libwebauthn/src/management/credential_management.rs

Lines changed: 4 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -121,25 +121,8 @@ where
121121
}
122122

123123
async fn enumerate_rps_next_rp(&mut self, timeout: Duration) -> Result<Ctap2RPData, Error> {
124-
let mut req = Ctap2CredentialManagementRequest::new_enumerate_rps_next_rp();
125-
let resp = loop {
126-
let uv_auth_used = user_verification(
127-
self,
128-
UserVerificationRequirement::Preferred,
129-
&mut req,
130-
timeout,
131-
)
132-
.await?;
133-
134-
// On success, this is an all-empty Ctap2AuthenticatorConfigResponse
135-
handle_errors!(
136-
self,
137-
self.ctap2_credential_management(&req, timeout).await,
138-
uv_auth_used,
139-
timeout,
140-
req
141-
)
142-
}?;
124+
let req = Ctap2CredentialManagementRequest::new_enumerate_rps_next_rp();
125+
let resp = self.ctap2_credential_management(&req, timeout).await?;
143126
Ok(Ctap2RPData::new(
144127
unwrap_field!(resp.rp),
145128
unwrap_field!(resp.rp_id_hash).into_vec(),
@@ -185,25 +168,8 @@ where
185168
&mut self,
186169
timeout: Duration,
187170
) -> Result<Ctap2CredentialData, Error> {
188-
let mut req = Ctap2CredentialManagementRequest::new_enumerate_credentials_next();
189-
let resp = loop {
190-
let uv_auth_used = user_verification(
191-
self,
192-
UserVerificationRequirement::Preferred,
193-
&mut req,
194-
timeout,
195-
)
196-
.await?;
197-
198-
// On success, this is an all-empty Ctap2AuthenticatorConfigResponse
199-
handle_errors!(
200-
self,
201-
self.ctap2_credential_management(&req, timeout).await,
202-
uv_auth_used,
203-
timeout,
204-
req
205-
)
206-
}?;
171+
let req = Ctap2CredentialManagementRequest::new_enumerate_credentials_next();
172+
let resp = self.ctap2_credential_management(&req, timeout).await?;
207173
let cred = Ctap2CredentialData::new(
208174
unwrap_field!(resp.user),
209175
unwrap_field!(resp.credential_id),

0 commit comments

Comments
 (0)