토큰하면 어떤 것이 먼저 떠오르는가? 필자는 유희왕의 토큰 카드가 가장 먼저 떠오른다..ㅋㅋ
실제로 토큰의 쓰임새는 크게 다르지 않다ㅎ 오늘은 토큰에 대해 알아보는 시간을 갖고, API 키와 어떤 차이점이 있는지도 살펴보자!
ㅇ토큰(Token): 인증 및 권한 부여를 위해 사용되는 데이터의 단위
API 키와 유사한 목적을 가지지만, 일반적으로 더 정교하고 안전한 인증 체계를 구현하기 위해 사용된다. 주로 OAuth2.0와 같은 인증 프로토콜에서 활용되며, 사용자의 세션을 나타내거나 API에 대한 접근 권한을 부여한다.
[발급 과정]
토큰은 인증 서버에서 클라이언트의 자격 증명(예: 사용자 아이디와 비밀번호)을 검증한 후 발급된다
그냥 쉽게 말해서, ID와 PWD가 올바르면 발급한다
[주로 사용되는 토큰 유형]
- Access Token: API 호출에 필요한 접근 권한을 부여
- Refresh Token: Access Token이 만료되었을 때, 새로운 Access Token을 발급받는 데 사용
[보안성]
- 짧은 유효 기간(일반적으로 몇 분에서 몇 시간)으로 설정되어 보안성이 높다
- 서버와 클라이언트 간의 통신은 주로 HTTPS로 암호화된다
[토큰 형태]
주로 JWT(Json Web Token) 형태로 많이 사용되며, JWT는 헤더, 페이로드(클레임), 서명 세 부분으로 구성된다
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
(사용 방식)
API 호출 시, 일반적으로 요청 헤더에 포함된다
Authorization: Bearer {Access_Token}
1. 보통 기상청이나 공공 데이터 포털 서비스를 이용할 때는 클라이언트 식별만 필요한 단순한 "API 키"를 사용한다!
2. 하지만 구글이나 페이스북 같은 소셜 로그인을 통한 사용자 인증이나, 은행 API나 전자 상거래 같은 민감한 사용자 데이터 접근에는 "토큰"을 사용한다!
결론적으로, API 키는 간단한 인증에 유용, 토큰은 더 높은 보안 수준과 사용자별 권한 관리를 제공하며, 선택은 애플리케이션의 보안 요구사항에 따라 결정된다!
https://claremont.tistory.com/entry/%EC%9B%B9-%EC%A7%80%EC%8B%9D-API-%ED%82%A4Key%EB%9E%80
'웹 > 웹 지식' 카테고리의 다른 글
[웹 지식] API 키(Key)란? (2) | 2025.01.24 |
---|---|
[웹 지식] 가상 환경(Virtual Environment) (5) | 2024.10.17 |
[웹 지식] 템플릿 엔진(feat. JSP, Thymeleaf, Freemarker) (2) | 2024.10.06 |
[웹 지식] .jar 파일은 무엇일까? (4) | 2024.10.06 |
[웹 지식] CRUD (1) | 2024.10.05 |