Browse Source

resolve comments

pull/4407/head
KenTandrian 6 months ago
parent
commit
0ced77b719
  1. 15
      apps/api/src/app/auth/web-auth.service.ts
  2. 4
      apps/client/src/app/services/web-authn.service.ts

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

@ -114,15 +114,14 @@ export class WebAuthService {
const { const {
credential: { credential: {
counter, counter,
id: credentialID, id: credentialId,
publicKey: credentialPublicKey publicKey: credentialPublicKey
} }
} = registrationInfo; } = registrationInfo;
let existingDevice = devices.find( let existingDevice = devices.find((device) => {
(device) => return isoBase64URL.fromBuffer(device.credentialId) === credentialId;
isoBase64URL.fromBuffer(device.credentialId) === credentialID });
);
if (!existingDevice) { if (!existingDevice) {
/** /**
@ -130,7 +129,7 @@ export class WebAuthService {
*/ */
existingDevice = await this.deviceService.createAuthDevice({ existingDevice = await this.deviceService.createAuthDevice({
counter, counter,
credentialId: Buffer.from(credentialID), credentialId: Buffer.from(credentialId),
credentialPublicKey: Buffer.from(credentialPublicKey), credentialPublicKey: Buffer.from(credentialPublicKey),
User: { connect: { id: user.id } } User: { connect: { id: user.id } }
}); });
@ -194,9 +193,9 @@ export class WebAuthService {
try { try {
const opts: VerifyAuthenticationResponseOpts = { const opts: VerifyAuthenticationResponseOpts = {
credential: { credential: {
counter: device.counter,
id: isoBase64URL.fromBuffer(device.credentialId), id: isoBase64URL.fromBuffer(device.credentialId),
publicKey: device.credentialPublicKey, publicKey: device.credentialPublicKey
counter: device.counter
}, },
expectedChallenge: `${user.authChallenge}`, expectedChallenge: `${user.authChallenge}`,
expectedOrigin: this.expectedOrigin, expectedOrigin: this.expectedOrigin,

4
apps/client/src/app/services/web-authn.service.ts

@ -89,8 +89,8 @@ export class WebAuthnService {
{ deviceId } { deviceId }
) )
.pipe( .pipe(
switchMap((requestOptionsJSON) => { switchMap((optionsJSON) => {
return startAuthentication({ optionsJSON: requestOptionsJSON }); return startAuthentication({ optionsJSON });
}), }),
switchMap((credential) => { switchMap((credential) => {
return this.http.post<{ authToken: string }>( return this.http.post<{ authToken: string }>(

Loading…
Cancel
Save