피드로 돌아가기
Dev.toSecurity
원문 읽기
중앙 집중식 Auth 제거 및 Wallet-standard 기반의 신원 인증 구조 전환
Connecting Phantom to a Web App Changed How I Think About "Login"
AI 요약
Context
Web2의 OAuth 방식은 중앙 서버(Google 등)에 신원 권한을 위임하여 토큰을 발급받는 구조임. 이 과정에서 서비스 제공자가 중앙 인증 서버를 전적으로 신뢰해야 하는 의존성 문제가 존재함.
Technical Solution
- @wallet-standard/app의 getWallets() 함수를 활용한 브라우저 설치 Wallet 탐색
- wallet.chains 속성 기반의 Solana 호환 Wallet 필터링 로직 구현
- Private Key를 서버에 전달하지 않는 Client-side 연결 요청 구조 채택
- 사용자의 승인을 통한 Public Address 획득 및 신원 확인 프로세스 설계
- 중앙 인증 서버 없이 Wallet 확장 프로그램이 인증과 세션을 직접 관리하는 탈중앙화 모델 적용
- 요청 시마다 발생하는 Signing Flow를 통한 개별 액션의 무결성 보장
실천 포인트
1. 서비스 내 신원 인증 시 중앙 서버 의존도를 낮추기 위해 Wallet-standard 준수 여부 검토
2. Private Key의 서버 전송을 원천 차단하는 Client-side Signing 구조 설계
3. 사용자 승인 기반의 Public Address 획득 프로세스를 통한 권한 관리 구현
태그