WebAuthn
개요
Casdoor의 고객 여러분께 기쁜 소식을 전합니다. Casdoor는 이제 WebAuthn으로 로그인하는 것을 지원합니다. 이는 당신의 장치가 이러한 멋진 인증 방법과 WebAuthn을 지원한다면, 지문이나 얼굴 인식과 같은 생체 인식을 사용하여 로그인하거나, 심지어 U-디스크를 사용하여 로그인할 수 있다는 것을 의미합니다.
WebAuthn이란 무엇인가요?
WebAuthn은 W3C와 FIDO가 Google, Mozilla, Microsoft, Yubico 등과 협력하여 작성한 웹 인증 API입니다. 이 API는 서버가 비밀번호 대신 공개 키 암호화를 사용하여 사용자를 등록하고 인증할 수 있게 합니다. 이를 통해 서버는 Windows Hello나 Apple의 Touch ID와 같이 장치에 내장된 강력한 인증기와 통합할 수 있습니다.
간단히 말해서, WebAuthn은 사용자가 공개 키-비공개 키 쌍을 생성하고 공개 키를 웹사이트에 제공하도록 요구합니다. 사용자가 웹사이트에 로그인하려고 할 때, 웹은 무작위 숫자를 생성하고 사용자에게 그것을 비공개 키로 암호화하여 결과를 되돌려 보내도록 요청합니다. 결과를 받으면 웹사이트는 공개 키를 사용하여 그것을 복호화합니다. 복호화된 숫자가 이전에 생성된 무작위 숫자와 일치하면 사용자는 합법적인 사용자로 간주되고 로그인할 수 있는 권한이 부여됩니다. 공개 키와 사용자 이름이나 사용자의 인증자에 대한 정보와 같은 필요한 정보의 조합을 WebAuthn Credential이라고 하며, 이는 웹사이트에 저장됩니다.
공개 키-비공개 키 쌍은 사용자의 사용자 이름, 사용자의 인증자, 그리고 웹사이트의 URL 세 가지 정보와 독점적이고 고유하게 연결됩니다. 이는 (사용자의 사용자 이름, 사용자의 인증자, 그리고 웹사이트의 URL)의 조합이 같다면 키 쌍도 동일해야 하며, 그 반대의 경우도 마찬가지라는 것을 의미합니다.
WebAuthn 기술에 대한 더 자세한 정보를 원하신다면, https://webauthn.guide/를 방문하실 수 있습니다.
Casdoor에서 WebAuthn을 어떻게 사용하나요?
로그인 페이지에서는 이미 WebAuthn을 사용하여 로그인하는 옵션을 주목했을 수도 있습니다. 그러나 아직 WebAuthn 자격증명이 없다면(이는 WebAuth 비밀번호에 비유할 수 있습니다), 이 튜토리얼에서는 자격증명을 생성하고 관리하고 그것을 사용하여 로그인하는 방법을 보여드릴 것입니다.
단계 0: 설정을 수정하고 WebAuthn 인증을 활성화하기
conf/app.conf
파일에서 다음과 같은 설정을 찾을 수 있습니다:
origin = "http://localhost:8000"
이 설정이 귀하의 웹사이트의 URL과 정확히 일치하는지 확인하십시오.
참고: WebAuthn은 localhost를 사용하는 경우를 제외하고는 HTTPS만 지원됩니다.
다음으로, 관리자로 로그인하고 애플리케이션의 편집 페이지로 이동합니다. "WebAuthn 로그인 활성화" 스위치를 켭니다. 기본적으로 이 기능은 활성화되어 있지 않습니다.
단계 1: "내 계정" 페이지로 이동하기
계정 페이지로 이동합니다. 이 페이지에서는 "WebAuthn 자격증명 추가" 버튼과 이전에 등록한 모든 WebAuthn 자격증명을 표시하는 목록을 볼 수 있어야 합니다.
버튼을 클릭하고 장치의 지시에 따라 Casdoor에 새 자격 증명을 등록하세요. 목록에서 "삭제" 버튼을 사용하여 모든 자격 증명을 제거할 수 있습니다.
단계 2: WebAuthn을 사용하여 로그인
이 단계를 시작하기 전에 Casdoor에서 로그아웃했는지 확인하세요.
로그인 페이지로 이동하여 WebAuthn 로그인 방법을 선택하고 사용자 이름을 입력한 후 로그인 버튼을 클릭하세요. 장치의 지시를 따르세요.
(예를 들어, 지문 인식과 Windows Hello를 사용하고 있다면 이런 화면이 나타날 것입니다)
그런 다음 성공적으로 로그인됩니다.