JWT(JSON Web Token) PHP 로그인 구현
·
Web/개발
JWT(JSON Web Token)란?JWT_class.phpsecretKey = "SSSCCCPPPAAANNNDDDYYYOOO"; } private function base64UrlEncode($data) { return str_replace(['+', '/', '='], ['-', '_', ''], base64_encode($data)); } public function hashing($payload) { $header = [ 'alg' => 'HS256', 'typ' => 'JWT' ]; $header = $this->base64UrlEncode(json_encode($header)); ..
JWT(JSON Web Token)란?
·
Web/개발
JWT(JSON Web Token)란?JWT란 JSON 형식의 데이터를 Base64 인코딩을 통해 문자열로 전달하는 Web Token 입니다. (Web Token이란?)하지만 JWT는 인터페이스 표준으로 실제 구현은 JWS(JSON Web Signature)와 JWE(JSON Web Encryption)으로 이루어집니다. JWS와 JWE는 Claim을 어떤 방식으로 전달하는지에 대한 차이가 존재합니다. JWS는 데이터의 무결성을 위해 디지털 서명을 사용하는 방식이고, JWE는 데이터의 기밀성을 위해 암호화를 사용하는 방식입니다. Claim이란?토큰의 종류에는 일반 토큰과 Claim 토큰이 존재합니다. 일반 토큰은 의미 없는 문자열을 JSON으로 보내는 방식으로 인증에서 사용이 될 수 있지만 정보를 담을 ..
Web Token이란?
·
Web/개발
Web Token이란?Token의 네이버 사전 정의는 다음과 같습니다.그렇다면 웹상에서의 토큰은 무엇일까요?위의 사진에서 '징표로 하는'이라는 내용을 통해 유추할 수 있으실 텐데요.웹 상에서의 토큰은 본인 확인의 수단으로 사용되는 징표입니다.근데 이거 어디서 많이 본 방식이죠? 세션 방식의 인증을 사용하는 경우를 많이 생각하셨을 것 같습니다.그렇다면 세션과 토큰의 차이는 무엇일까요?세션 VS 토큰위의 사진은 세션 인증 방식의 동작을 나타내는 것으로, 회원 정보가 담긴 데이터베이스를 거친 후 세션 ID가 저장되는 데이터베이스를 한 번 더 거치게 되는데요. 즉, Stateful(상태 유지)이라는 것이죠. 따라서 회원이 늘어날 때마다 메모리를 사용하며, 서버의 부하가 거칠 수 있습니다. 또한 서버 확장 시 세..
Web Template Engine이란?
·
Web/개발
Web Template Engine이란?웹 문서가 출력되는 템플릿 엔진을 말하는 것으로 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어를 말합니다. 쉽게 말해, 고정적으로 사용되는 웹 문서를 템플릿으로 미리 작성해 두고 동적으로 변경되는 데이터 영역만 필요시에 결합해서 웹 문서를 구성하고 화면에 출력하는 것입니다.또한 View Code(HTML)과 Data Logic Code(DB)를 분리시키는데 이는 MVC 패턴과 비슷하게 각각의 역할을 나누어 View에서는 Controller에서 넘어온 데이터를 틀에 끼워 넣어 클라이언트에게 알맞은 웹 페이지를 제공합니다.MVC 패턴이란?Model, View, Controller의 약자로 애플리케이션, 프로젝트를 구성할 때 구성요소를 세 가지..
API란?
·
Web/개발
API란?API란 Application Programming Interface의 약자로 두 애플리케이션 간의 서비스 계약을 의미하는데, 이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의하고 있습니다. 쉽게 말하자면 소프트웨어들이 서로 대화할 때 사용되는 수단이라고 할 수 있으며, 웹사이트, IOS 앱, 안드로이드 앱 등에서 서버로부터 어떠한 내용을 가져오고 보낼 때, 클라이언트가 어떤 방법으로 요청을 보내야 하고, 서버는 어떤 방법으로 응답을 해야 하는지 정의된 마치 식당에서 정해둔 메뉴판과 같은 존재라고 할 수 있습니다.API의 종류API는 내부 API로 기업이나 연구 단체 등에서 자체 제품과 운영 개선을 위해 단체 내부에서만 사용하는 Private API와 개방형 API로..