전자서명 기반 로그인 시스템을 처음 접하면 가장 헷갈리는 부분이 바로 tokenId, tokenRef, PublicKey, PrivateKey의 역할입니다.특히 다음과 같은 질문을 많이 하게 됩니다.tokenId는 서버에서 가져오는 것일까?tokenId는 어디에 저장되는 걸까?서버는 왜 tokenId를 가지고 있을까?랜덤(Random)은 공개키로 만드는 걸까?tokenRef는 무엇이며 왜 서버로 보내지 않을까?이번 글에서는 인증서 발급부터 로그인까지의 전체 흐름을 따라가며 각각의 역할을 쉽게 정리해보겠습니다.전체 구조전자서명 로그인은 아래와 같은 구조로 동작합니다.사용자 │브라우저 │로컬 SDK │인증 서버가장 중요한 점은 개인키(PrivateKey)는 절대로 서버로 전송되지 않는다는 것..
간편인증은 비밀번호 로그인이 아니다카카오 인증, PASS 인증, 공동인증서, 금융인증서 등 대부분의 간편인증 서비스는 일반적인 ID/PW 로그인 방식과 전혀 다른 원리로 동작합니다.많은 사람들이 "PIN이 비밀번호다."라고 생각하지만 실제로는 그렇지 않습니다.간편인증의 핵심은 서버가 사용자의 비밀번호나 개인키를 보관하지 않는다는 것입니다.이번 글에서는 간편인증이 어떤 구조로 동작하는지, 서버에는 무엇이 저장되고 로그인은 어떻게 검증되는지 단계별로 쉽게 알아보겠습니다.일반 로그인과 간편인증 로그인 차이먼저 일반적인 로그인 방식부터 살펴보겠습니다.일반 로그인사용자 │ID / PW 입력 │ ▼서버 │DB에 저장된 비밀번호와 비교 │로그인 성공이 방식에서는 서버가 사용자의 비밀번호(또는 해시값..
Nuxt3를 활용해 제비뽑기 웹 서비스를 개발한 과정을 정리했습니다. 랜덤 추첨 알고리즘 구현, 상태 관리, SEO 적용, 배포 과정까지 실제 개발 경험을 기반으로 설명합니다.Nuxt3로 제비뽑기 웹 서비스를 만든 이유와 랜덤 추첨 기능 구현 방법최근 간단한 이벤트나 모임에서 사용할 수 있는 웹 기반 제비뽑기 서비스를 만들게 되었습니다. 단순히 랜덤 숫자를 출력하는 수준이 아니라, 누구나 모바일에서 쉽게 사용할 수 있고 검색 유입까지 고려한 서비스가 필요했습니다. 그래서 선택한 기술이 바로 Nuxt3입니다.이번 글에서는 실제로 제작한 제비뽑기 서비스인 '제비뽑기' 기능을 예시로, 왜 Nuxt를 선택했는지와 랜덤 추첨 기능을 어떻게 구현했는지 개발자 관점에서 정리해보겠습니다.https://tool.dapl..