Browse Source

biometric authentication no matching passkeys fixed

pull/5137/head
Attila Cseh 2 months ago
parent
commit
8807a09f11
  1. 4
      CHANGELOG.md
  2. 13
      apps/api/src/app/auth/web-auth.service.ts

4
CHANGELOG.md

@ -18,6 +18,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Improved the language localization for German (`de`) - Improved the language localization for German (`de`)
- Upgraded `ionicons` from version `7.4.0` to `8.0.10` - Upgraded `ionicons` from version `7.4.0` to `8.0.10`
### Fixed
- Fixed a Biometric authentication issue related to matching passkeys
## 2.178.0 - 2025-07-05 ## 2.178.0 - 2025-07-05
### Changed ### Changed

13
apps/api/src/app/auth/web-auth.service.ts

@ -60,8 +60,8 @@ export class WebAuthService {
timeout: 60000, timeout: 60000,
authenticatorSelection: { authenticatorSelection: {
authenticatorAttachment: 'platform', authenticatorAttachment: 'platform',
requireResidentKey: false, residentKey: 'required',
userVerification: 'required' userVerification: 'preferred'
} }
}; };
@ -91,6 +91,7 @@ export class WebAuthService {
expectedChallenge, expectedChallenge,
expectedOrigin: this.expectedOrigin, expectedOrigin: this.expectedOrigin,
expectedRPID: this.rpID, expectedRPID: this.rpID,
requireUserVerification: false,
response: { response: {
clientExtensionResults: credential.clientExtensionResults, clientExtensionResults: credential.clientExtensionResults,
id: credential.id, id: credential.id,
@ -152,12 +153,7 @@ export class WebAuthService {
} }
const opts: GenerateAuthenticationOptionsOpts = { const opts: GenerateAuthenticationOptionsOpts = {
allowCredentials: [ allowCredentials: [],
{
id: isoBase64URL.fromBuffer(device.credentialId),
transports: ['internal']
}
],
rpID: this.rpID, rpID: this.rpID,
timeout: 60000, timeout: 60000,
userVerification: 'preferred' userVerification: 'preferred'
@ -200,6 +196,7 @@ export class WebAuthService {
expectedChallenge: `${user.authChallenge}`, expectedChallenge: `${user.authChallenge}`,
expectedOrigin: this.expectedOrigin, expectedOrigin: this.expectedOrigin,
expectedRPID: this.rpID, expectedRPID: this.rpID,
requireUserVerification: false,
response: { response: {
clientExtensionResults: credential.clientExtensionResults, clientExtensionResults: credential.clientExtensionResults,
id: credential.id, id: credential.id,

Loading…
Cancel
Save