#auth
노트 13개
Frontend › React
SWR로 서버 데이터 가져오기캐시를 먼저 보여 주고 백그라운드에서 재검증하는 데이터 패칭 훅 SWR의 사용 패턴. mutate 옵션 객체와 optimisticData로 캐시를 갱신하고, SWR 캐시로 로그인 상태를 판단해 보호된 페이지를 만든다.
Frontend › Web
로그인·가입 폼과 인증 입력가장 좋은 가입 폼은 없는 가입 폼이다. 필요할 때만 계정을 요구하고, 로그인·가입 폼은 비밀번호 관리자가 알아보게 만든다(new/current-password, 다른 name·id, 성공 감지, 붙여넣기 허용). 비밀번호 보기 버튼, 두 단계 로그인, 모바일 키보드 가림, 패스키 자동 완성(username webauthn), 일회용 코드(one-time-code·WebOTP), NIST SP 800-63B-4의 비밀번호 규칙, 계정 설정과 /.well-known/change-password까지 정리한다.
Frontend › Web
OAuth 2.0비밀번호를 넘기지 않고 다른 서비스의 자원 접근 권한을 위임하는 OAuth 2.0. 네 역할, Authorization Code + PKCE 흐름, 토큰 종류, OIDC와의 차이, 프론트엔드 보안 주의점, OIDC로 구현하는 SSO를 정리한다.
Backend › Architecture
권한 시스템 설계: ACL, RBAC, ABAC권한 시스템은 '누가 무엇에 어떤 행동을 할 수 있나'를 정하는 모델을 고르는 일이다. 자원마다 허용 목록을 다는 ACL, 소유자가 정하는 DAC, 등급 라벨로 강제하는 MAC, 역할로 묶는 RBAC, 속성 조건으로 판단하는 ABAC, 관계 그래프로 판단하는 ReBAC가 있다. 대부분 RBAC로 시작하고 예외가 늘면 속성이나 관계를 더한다.
Backend › Architecture
인증·인가 로직은 어디에 두나: 필터, 인터셉터, API 게이트웨이인증·인가를 컨트롤러마다 넣으면 중복과 누락이 생긴다. 단일 서버에서는 필터·인터셉터·메서드 보안으로, MSA에서는 API 게이트웨이에서 토큰을 검증하고 각 서비스가 자기 리소스의 인가를 맡는 식으로 층을 나눈다. 게이트웨이 우회 차단과 신원 전달 방식이 핵심 주의점이다.
Backend › Django
Django User와 인증django.contrib.auth의 User 모델로 회원가입·로그인을 구현하고, 템플릿에서 현재 사용자 정보를 쓰는 방법.
Backend › NestJS
NestJS JWT 인증과 Passport로그인 시 JWT를 발급하고, Passport Strategy와 Guard로 요청마다 토큰을 검증해 현재 사용자를 꺼내는 NestJS 인증 구현.
Backend › Web Basics
2단계 인증: TOTP와 패스키인증기 앱의 6자리 코드(TOTP)는 등록 때 공유한 비밀 키와 현재 시각으로 서버와 앱이 같은 숫자를 각자 계산하는 방식이다. 패스키는 비밀을 공유하지 않는다: 기기가 사이트마다 키 쌍을 만들고 공개키만 서버에 주며, 로그인 때 서버의 챌린지에 개인키로 서명한다. 도메인에 묶여 있어 피싱에 강하다.
Backend › Web Basics
비밀번호 저장과 비밀번호 관리자서버는 비밀번호를 평문·암호문·단순 해시로 두지 않고, 사용자마다 다른 솔트를 섞어 Argon2id·bcrypt 같은 느린 해시로 저장한다. 비밀번호 관리자는 반대 방향의 문제를 푼다: 마스터 비밀번호에서 키를 유도해 금고를 기기에서 암호화하므로 서버는 내용을 볼 수 없다.
Backend › Web Basics
세션 기반 인증과 토큰 기반 인증로그인 상태를 서버 저장소에 두는 세션 방식과, 서명된 토큰(JWT)에 담아 클라이언트가 들고 다니는 토큰 방식의 흐름·장단점을 비교하고, 토큰 탈취 대책(짧은 만료, 슬라이딩 세션, 리프레시 토큰 회전)과 선택 기준을 정리한다.
Backend › Web Basics
텔레그램 미니앱 인증 흐름텔레그램이 서명한 initData를 클라이언트가 서버로 보내고, 서버가 봇 토큰 기반 HMAC-SHA256으로 위변조와 만료를 검증한 뒤 자체 세션·JWT를 발급하는 미니앱 인증 패턴.
Backend › Web Basics
API 키와 HMAC 요청 서명서버끼리 호출하는 API에서 요청마다 '누가 보냈고 중간에 바뀌지 않았나'를 증명하는 HMAC 요청 서명. 앱 ID·액세스 키·시크릿 키의 역할, 서명할 문자열을 만드는 법, 타임스탬프와 논스로 재전송을 막는 법, 서버의 검증 순서, 토큰 방식과의 비교를 정리했다.
DevOps
쿠버네티스 보안: 인증, RBAC, 서비스 계정, 파드 보안쿠버네티스 API에 접근하는 주체를 확인하는 인증(X.509·토큰·OIDC)과 kubeconfig 구조, 권한을 주는 RBAC(Role·ClusterRole·바인딩, verb)와 최소 권한 적용법, 파드가 API를 부르는 서비스 계정과 토큰, 그리고 컨테이너 권한을 줄이는 Pod Security Standards·Pod Security Admission·securityContext를 정리한다.