[javascript] 모바일 디바이스의 지문 인식 기능 사용하기

지문 인식은 모바일 디바이스에서 사용자 인증을 위해 널리 사용되는 기능입니다. 이 기능을 사용하여 보안 수준을 높이고 사용자 경험을 개선할 수 있습니다. 이번 글에서는 JavaScript를 사용하여 모바일 디바이스의 지문 인식 기능을 쉽게 사용하는 방법에 대해 알아보겠습니다.

1. 지문 인식 API 지원 여부 확인하기

지문 인식 기능을 사용하기 전에, 지원 여부를 확인해야 합니다. window 객체의 Modernizr 속성을 사용하여 이를 확인할 수 있습니다. 다음과 같은 코드를 사용하여 지문 인식 API가 지원되는지 확인할 수 있습니다.

if (window.Modernizr && Modernizr.fingerprint) {
  console.log("지문 인식을 지원합니다.");
} else {
  console.log("지문 인식을 지원하지 않습니다.");
}

2. 지문 인식 기능 사용하기

지문 인식 기능을 사용하기 위해 window 객체의 navigator 속성에 있는 credentials 객체를 사용합니다. credentials.get() 메서드를 호출하여 지문 인식을 시작할 수 있습니다. 사용자가 지문을 인식할 때까지 대기하고, 인식이 완료되면 Promise를 반환합니다.

const fingerprintAuthOptions = {
  mediation: "required",
  challenge: new Uint8Array(32),
};

window.navigator.credentials.get({ publicKey: fingerprintAuthOptions })
  .then((assertion) => {
    // 지문 인식이 완료된 후의 처리 로직
    console.log("지문 인식이 완료되었습니다.");
    console.log(assertion);
  })
  .catch((error) => {
    // 지문 인식 중 오류가 발생한 경우 처리 로직
    console.error("지문 인식 중 오류가 발생했습니다.");
    console.error(error);
  });

3. 지문 인식 기능에 대한 보안 고려사항

지문 인식 기능은 사용자 인증에 널리 사용되지만, 보안 측면에서 고려해야 할 사항이 있습니다. 일부 디바이스에서는 지문 데이터를 외부로 전송하거나 저장할 수 있으므로, 개발자는 이를 방지하기 위한 추가적인 조치를 취해야 합니다. 사용자의 지문을 안전하게 저장하고 처리하는 방법에 대해서는 관련 문서를 참고하시기 바랍니다.

참고 자료