https://www.okta.com/identity-101/what-is-token-based-authentication/
해석 및 정리함
인증 토큰을 사용하기 전, 그 당시 사람들은 전통적인 방법(효과적 X)으로 특정 사람들에게 접근권한을 주었다.
1962년에 처음으로 문서화된 비밀번호 도난 사건 중 하나가 발생했다. 사람들은 자신의 모든 비밀번호를 기억할 수 없었다.
이 방법이 쓰이던 당시, 사람들은 자신의 비밀번호를 기억하기 위해 문서의 형태로 기록을 하였다.
사람들은 여러 곳에서 같은 비밀번호를 사용하는 경향이 있었기 때문에 암호가 하나 발견되면 많은 계정이 취약해질 수 밖에 없었다.
그 뒤로 인증 토큰이 생기면서 많은 부분이 개선되었다.
토큰 인증을 통해 보조 서비스는 서버 요청을 확인하고, 확인이 완료되면, 서버는 토큰을 발급하고 요청에 응답한다.
사용자는 여전히 하나의 암호를 기억할 수 있지만 토큰은 훔치거나 극복하기 훨씬 어려운 다른 형태의 액세스(access)를 제공한다. 그리고 세션의 기록들은 서버에서 공간을 차지하지 않는 장점이 있다.
이 세 가지 유형(type)에서 사용자는 프로세스를 시작하기 위해 암호를 입력하거나 질문에 대답해야 할 수도 있어야 한다. 그러나 이러한 예비 단계를 완벽하게 하더라도 액세스 토큰의 도움 없이는 액세스(access)를 얻을 수 없다.
토큰 기반 인증 시스템을 사용하면 방문자가 자격 증명을 한 번만 확인할 수 있다. 대신 사용자가 정의한 기간 동안 액세스할 수 있는 토큰을 받게 된다.
관리자는 토큰에 제한을 설정한다. 사용자가 로그아웃할 때 즉시 삭제되는 일회용 토큰을 허용할 수 있고, 지정된 기간이 끝나면 토큰이 자동으로 파괴되도록 설정할 수 있다.
이제 현상황을 반영하자면,
많은 사용자들이 휴대폰(앱)과 웹 앱을 통해 시스템에 액세스하고 있기 때문에, 개발자들은 이러한 플랫폼에 적합한 인증을 위한 안전한 방법이 필요하다.
이 문제를 해결하기 위해 많은 개발자들은 응용 프로그램의 토큰을 작업할 때 JSON 웹 토큰(JWT)으로 주목하기 시작했다.
JSON 웹 토큰(JWT)은 개방형 표준 토큰이다. 완성된 서비스는 두 당사자 간의 안전하고 안전한 통신을 가능하게 한다. 데이터는 디지털 서명으로 확인되며, HTTP를 통해 전송되는 경우 암호화를 통해 데이터를 안전하게 유지한다