티스토리 뷰
반응형
ASP.NET 웹개발에서는 기본적으로 Cookie를 통해 사용자를 인증합니다. 하지만 최근에는 SPA와 모바일앱 등 크로스플렛폼 개발이 늘어나면서 Token 기반 인증이 폭넓게 사용되고 있습니다. ASP.NET에서는 Cookie 기반 인증도 제공하지만, Token 기반 사용자 인증도 추가로 제공합니다. 사용자 인증에 사용되는 Cookie와 Token의 특징을 정리하면 다음과 같습니다.
| ASP.NET 인증 | Cookie | Token |
|---|---|---|
| 플렛폼 | 웹(HTTP 프로토콜) | 제약 없음(크로스플렛폼에 적합) |
| 전송시점 | 모든 요청에는 Cookie가 포함되어 전송됨 (심지어 단순 이미지 다운로드도 Cookie가 전송됨) |
개발자가 직접 전송시점, 방법을 통제함 (필요한 요청에만 Token 포함 가능) |
| 보안 | 역사가 긴만큼 수많은 공격방법들이 존재하며, 특히 구형 브라우저를 사용하는 경우 Cookie 탈취 가능성이 높음 | 상대적으로 공격하기 어렵고 안전함 |
| 인증 갱신 | 매 HTTP 요청마다 서버에서 자동으로 만료시간을 연장하여 Cookie를 재발행 | Refresh Token으로 인증을 언제 어떻게 갱신할지 제어 |
| 구현 난이도 | Cookie의 발행과 연장, 전송은 개발자가 신경쓰지 않아도 알아서 진행됨 | Token의 발행과 관리는 개발자가 통제해야 하기에 난이도와 구현비용이 더 높음 |
| 인증정보 관리 | ASP.NET에서는 Cookie 인증과 Token 인증 모두 Self-Contained 방식으로 인증정보를 관리하기에 큰 차이 없음 | |
웹사이트만 서비스한다면 Cookie 방식이 심플한 개발방법입니다. 하지만 모바일, 웹사이트, SPA앱개발, 윈도우앱 개발 등 Cross Platform 서비스를 염두해두고 있다면 Token 인증으로 통일하는 것이 더 심플할 수 있습니다.
'Others' 카테고리의 다른 글
| [C#] CallerMemberName Attribute (0) | 2023.05.19 |
|---|---|
| [C#] StringComparison 열거형 (0) | 2022.07.28 |
| [Mail] SMTP 프로토콜 (0) | 2022.07.07 |
| OIDC(OpenID Connect)와 OAuth 2.0 (0) | 2021.07.22 |
| 서버 하드웨어 구성 (0) | 2021.07.16 |
| 실무에서 TDD의 장담점과 의사결정 (0) | 2021.01.07 |
| [AndroidStudio] Code Folding (0) | 2020.12.16 |
| [아웃룩] 데이터 파일(.ost) 위치 변경 (2) | 2019.07.17 |
댓글
최근에 올라온 글
최근에 달린 댓글
TAG
- Xamarin.iOS
- React
- Android
- windows
- Xamarin.Forms
- npm
- flutter
- linux
- ios
- material-ui
- ASP.NET Core
- Xamarin
- Xamarin.Forms eBook
- TypeScript
- MS SQL
- .NET Standard
- VisualStudio
- Vue
- Xamarin.Forms 요약
- WPF
- Total
- Today
- Yesterday