정말 좋습니다!
다만 한 가지 작은 문제점이 있습니다: Safari/Mac에서 Web Authentication은 개발자 전용 기능이며 기본적으로 비활성화되어 있습니다. 활성화하면 잘 작동합니다. 하지만 Web Authentication이 비활성화된 경우 메시지나 경고를 표시해야 할 것 같습니다. 현재 기본 설정의 Safari에서는 등록 과정이 작동하지 않을 것이라는 것을 UI에서 전혀 알 수 없습니다(콘솔에 오류가 발생합니다):
정말 좋습니다!
다만 한 가지 작은 문제점이 있습니다: Safari/Mac에서 Web Authentication은 개발자 전용 기능이며 기본적으로 비활성화되어 있습니다. 활성화하면 잘 작동합니다. 하지만 Web Authentication이 비활성화된 경우 메시지나 경고를 표시해야 할 것 같습니다. 현재 기본 설정의 Safari에서는 등록 과정이 작동하지 않을 것이라는 것을 UI에서 전혀 알 수 없습니다(콘솔에 오류가 발생합니다):
navigator.credentials을 사용하여 기능 감지를 할 수 있을 거라고 가정합니다.
몇몇 사람들은 그것이 좋긴 하지만 추가 비용을 정당화하는 데 어려움을 겪습니다 ![]()
아, 미안해요. navigator.credentials.get에 대한 기능 검사는 했지만 create는 하지 않았어요. 바로 수정할게요!
최근 커밋이 정상적으로 작동하는 것 같습니다. 방금 안드로이드 폰에서 지문 인식을 이용한 2단계 인증을 사용할 수 있었습니다.
Penar 씨, 이 문제에 대한 수정 사항을 준비했습니다. Safari에서 확인해 주실 수 있을까요? [FIX] Check webauthn support when registering security keys - Pull Request #8146 - discourse/discourse - GitHub . 해당 기능이 비활성화된 상태의 Safari에서 제가 사용하고 있는 기능 감지 방식이 제대로 작동할지 확실하지 않습니다.
샘이 먼저 머지를 처리했지만, 사파리에서는 잘 보입니다. 마틴, 감사합니다!
맞아요, 하지만 이 경우에는 디스커스에서 일반적인 업무의 일부이므로 비용을 우리가 부담할 거예요. 그 점이 명확하지 않았다면 죄송하지만, 이제 명확해지셨나요?
WebAuthn 지원에 축하드립니다! webauthn gem 대신 자체 솔루션을 구현하신 점이 흥미롭네요. 해당 gem에 대한 피드백이 있으시면 말씀해 주시면 감사하겠습니다 ![]()
구현을 확인해 보니 알고리즘 -7(ES256)만 지원하고 있습니다. 하지만 Windows Hello 플랫폼 인증기(TPM 2.0 하드웨어 기반)는 마이크로소프트 문서에 따라 -257(RS256)을 요구합니다. TPM 2.0은 2016년 7월 28일부터 새로운 Windows 10 데스크톱 모델에 필수로 요구되고 있으므로, 무시할 수 없는 상당한 규모의 하드웨어를 의미합니다.
“로그인 플로우” 목업에 대한 제안 하나: WebAuthn에는 공식 로고가 있어, 일반적인 지문 이미지 대신 이를 사용할 수 있습니다. 지문 외에도 얼굴 인식, 스와이프 패턴 또는 PIN은 사용자 인증의 일반적인 옵션입니다.
@Martin_Brennan
에 대해 어떤 의견이 있으신가요?
Rafe, 피드백 주셔서 감사합니다. 그렇다면 여기서 추가 알고리즘을 지원해야 할 것 같습니다. 그리고 공식 로고 링크도 감사합니다. 처음에 알고리즘을 하나만 설정한 이유는, 모든 알고리즘 간의 미묘한 차이점에 대해 확신이 서지 않았고 제가 찾을 수 있었던 모든 예제에서 ES256이 사용되고 있었기 때문에, V1에서 동작하도록 최소한의 지원 알고리즘만 추가하자는 생각이었기 때문입니다.
그리고 당시 왜 제미나를 사용하지 않았는지에 대해 말씀드리자면, 이 결정에 대해 꽤 많이 고민했고 언젠가 이 결정에 대해 질문을 받을 것임을 알고 있었습니다. 구현 방식을 더 잘 이해하기 위해 제미나의 코드 중 상당 부분을 읽어 보았습니다. 주요 이유는 다음과 같습니다:
그러나 제 판단이 잘못되었을 수도 있습니다. 인증(attestation), 더 많은 지원 알고리즘 등 WebAuthn 지원의 V2, V3 등으로 넘어가게 된다면, 우리가 이른바 "WebAuthn 전문가"가 되는 것이 너무 부담스러워질 수 있습니다. 그 시점에 와서 제미나 사용을 재평가할 수 있을 것이라 생각합니다.
추가 RS256 알고리즘에 대한 지원이 이제 병합되었습니다. FEATURE: Support RS256 algorithm for webauthn - Pull Request #8385 - discourse/discourse - GitHub
iOS 13.3와 macOS Catalina 10.15.2가 이제 FIDO2 인증도 지원하는 것 같습니다 ![]()
이 업데이트에는 버그 수정 및 기타 개선 사항도 포함되어 있습니다. 이 업데이트:
- Safari에서 NFC, USB, Lightning FIDO2 호환 보안 키 지원 추가
아쉽지만 아이폰은 이를 위해 서드파티 장치가 필요하네요. iOS++가 장치 인증과 보안 칩을 내장해 이 기능을 기본적으로 지원하길 바랍니다. 윈도우, macOS, 안드로이드처럼요.
Discourse에 로그인할 수 있게 되다니 정말 설레네요!!
사실 내장 인증기(authenticator) 지원이 아직 없다는 점이 좀 놀랍긴 하네요… 그래도 어쨌든 기쁜 소식이에요 - 계속 기대를 해볼게요.
호스팅된 Discourse 인스턴스에서 일부 사용자의 2FA 활성화 표시와 관련하여 UI의 불일치를 발견했습니다:
‘스태프’ 사용자 전체 목록에서 제 계정은 2FA가 활성화된 것으로 표시되지 않습니다:
계정 요약 페이지에서는 '2단계 인증 관리’라는 버튼 텍스트로 보아 2FA가 켜져 있는 것으로 보입니다.
2단계 인증 설정 화면에서는 보안 키가 활성화되어 있고, 2차 인증 요건을 비활성화할 수 있다고 표시됩니다.
같은 인스턴스에서 보안 키 없이 토큰 기반 인증기를 선택한 다른 사용자들은 ‘전체 사용자’ 목록에서 자물쇠 아이콘이 표시됩니다.
이것이 UI 버그인지, 아니면 이 플랫폼에서 보안 키만 추가하는 것이 2FA로 충분한지 아닌지 알려주시면 감사하겠습니다.
이 문제에 대해 확인해 보겠습니다. 하지만 UI의 2FA 섹션이 모든 내용을 올바르게 표시하고 있다면, 사용자 목록에 UI 버그가 있는 것 같다는 것이 제 추측입니다. 신고해 주셔서 감사합니다!
문제가 바로 그거였어요. 수정 작업이 진행 중이고, 가능해지는 대로 병합할게요. FIX: Admin user list not showing 2FA icon for only security keys enabled - Pull Request #8839 - discourse/discourse - GitHub
수정: 이제 해결되었습니다.
애플은 구글, 인텔, 마이크로소프트, 삼성과 같은 거대 기업들이 이미 참여하고 있는 FIDO 얼라이언스(또는 Fast Identity Online)에 가입했습니다.
iOS 14에서는 TouchID / FaceID를 사용하여 이 기능이 작동합니다.