스낵 3줄 요약
- Appwrite Auth가 웹·안드로이드·iOS용 패스키 로그인을 지원합니다.
- 패스키를 등록한 이용자는 얼굴·지문 인식이나 기기 PIN으로 이메일·비밀번호 입력 없이 로그인할 수 있습니다.
- 웹과 모바일 앱에서 같은 패스키를 쓰려면 개발자가 공통 도메인을 설정하고 플랫폼별 연동을 마쳐야 합니다.
Appwrite가 2026년 10월 16일 웹·안드로이드·iOS 앱에서 비밀번호 없이 로그인하는 패스키 지원을 발표했습니다. 개발자가 Appwrite Auth에서 기능을 켜고 앱에 연동해야 하며, Appwrite Cloud와 자체 호스팅 Appwrite 2.5 이상에서 지금 사용할 수 있습니다.

스낵걸즈 한마디
AIKO: 웹과 앱을 도메인 하나로 잇는 구조가 흥미롭습니다. 안드로이드에서는 디버그·배포 서명 키가 실제 접근을 가르는 점을 더 살펴보고 싶습니다.
네아: 좋아하는 작품의 설정 자료실에도 이런 로그인이 생기면 좋겠어요. 오랜만에 돌아와도 비밀번호를 떠올릴 필요 없이 궁금했던 설정부터 읽고 싶네요.
패스키는 계정을 만든 뒤 등록합니다
신규 이용자는 계정과 로그인 세션을 먼저 만든 뒤, 기존 이용자는 로그인한 뒤 패스키를 등록합니다. 다음 로그인에서는 브라우저나 운영체제의 선택 창에서 패스키를 고르고 Face ID·Touch ID·지문 인식 또는 기기 PIN으로 본인 확인을 하면 됩니다. 이메일·비밀번호 입력은 필요 없으며, 이렇게 기기 본인 확인을 거친 Appwrite 패스키 세션은 다중 인증(MFA) 요건도 충족합니다.
웹사이트와 안드로이드·iOS 앱이 같은 도메인에 연결되고 플랫폼별 요건을 갖추면 하나의 패스키를 함께 쓸 수 있습니다. iCloud 키체인이나 Google 비밀번호 관리자에 저장한 패스키는 이용자의 다른 기기로 동기화할 수 있습니다.
localhost 테스트보다 운영용 도메인 설정이 먼저
Appwrite 콘솔의 Auth > Settings에서 Passkey를 켜고, 패스키가 연결될 도메인인 RP ID를 선택합니다. 이때 app.example.com 같은 서브도메인 대신 자신이 관리하는 example.com을 선택합니다. 패스키가 등록되면 RP ID를 바꿀 수 없으며, localhost에서 만든 패스키와 진행 중인 등록도 변경 제한에 포함됩니다.
운영용 RP ID를 먼저 정한 뒤 localhost를 웹 플랫폼으로 추가해 테스트해야 합니다. localhost는 포트 번호와 관계없이 별도 RP ID를 사용하며, 여기서 만든 패스키는 운영용과 분리됩니다. 프로젝트의 플랫폼 설정에 따라 허용되는 접속 출처 목록은 Auth > Policies > Passkeys에서 볼 수 있습니다.

모바일 앱은 서명 키와 도메인 연결도 필요합니다
안드로이드는 Appwrite의 Apps에서 Android 플랫폼에 실제 서명 키의 SHA-256 지문을 등록해야 하며, 등록한 키로 서명된 빌드만 패스키를 사용할 수 있습니다. 디버그 키와 Google Play 앱 서명 키는 다를 수 있으므로, Play 배포본에는 업로드 키와 혼동하지 말고 Play Console의 App integrity > Play app signing에 있는 App signing key certificate 지문을 등록해야 합니다. 도메인의 /.well-known/assetlinks.json도 HTTPS로 제공하고, 앱의 패키지 이름과 등록한 지문을 담아야 합니다.
iOS는 Appwrite에 번들 ID로 Apple 플랫폼을 추가하는 것과 별도로, Xcode의 Associated Domains에 webcredentials:example.com을 설정해야 합니다. 해당 도메인에서는 Team ID와 번들 ID가 담긴 /.well-known/apple-app-site-association 파일을 HTTPS로 제공해야 운영체제가 앱과 도메인의 연결을 확인할 수 있습니다. 모바일 앱만 운영한다면 별도 웹사이트를 만들 필요는 없지만, 연결 파일을 제공할 도메인은 있어야 합니다.

출처 및 확인일: 2026년 10월 18일

댓글
0로그인 없이 남길 수 있어요. 작성한 브라우저에서 수정·삭제할 수 있어요.
전체 댓글 0
한국어 · English · 日本語아직 댓글이 없어요. 첫 이야기를 남겨 주세요.