ASP.NET Web API – Token Based Authentication Tutorial
- ASP.NET 애플리케이션 보안의 기본은 인증(사용자 신원 확인)과 권한 부여(사용자가 할 수 있는 작업 결정)를 이해하는 것에서 시작됩니다. 🔑
- 토큰 기반 인증은 API에 선호되는 방식으로, 전통적인 쿠키 기반 방식과 대조됩니다. 🍪
- JSON 웹 토큰(JWT)은 짧은 수명의 액세스 토큰과 긴 수명의 리프레시 토큰으로 구성됩니다. 🔄
- ASP.NET Identity 및 Entity Framework Core를 사용하여 사용자 등록 및 로그인 컨트롤러를 설정합니다. 👤
- 인증은 사용자의 존재를 확인하는 과정이고, 권한 부여는 기존 사용자의 권한을 확인하는 과정입니다. ✅
- 쿠키 기반 인증은 서버에 세션을 저장하는 반면, 토큰 기반 인증은 클라이언트 측에 토큰을 저장합니다. 💾
- 토큰 기반 인증은 확장성이 뛰어나고 여러 장치를 지원하지만, 토큰 크기가 더 크다는 단점이 있습니다. 📱
- JWT는 헤더, 페이로드, 서명으로 구성되며, Base64로 인코딩된 문자열로 정보를 안전하게 전송합니다. 🛡️
- Identity Framework를 사용하여 기본 Identity 관련 테이블을 자동으로 생성할 수 있습니다. ⚙️
- 사용자 정의 속성을 추가하기 위해 Identity User 기본 클래스에서 상속받는 새로운 모델을 생성할 수 있습니다. ➕
- 데이터베이스 변경 사항을 반영하려면 새 마이그레이션을 추가해야 합니다. ➡️