스파르타코딩(22.8.29~22.12.31)/TIL(Today I Learned)(55)
-
[TIL] Simple JWT setting , encoded 22/11/22 17일차
- Today I Learned Simple JWT setting하고 encoded 해서 정보 확인하기. - Simple JWT 설치하기 Simple JWT '페이지 접속' https://django-rest-framework-simplejwt.readthedocs.io/en/latest/ 1.터미널창에서 패키지 설치 ( pip install djangorestframework-simplejwt ) 2.settings.py에 해당 코드 추가. REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_simplejwt.authentication.JWTAuthentication', ) } 3.App 추가 (Install 했으니 패키지 인식..
2022.11.29 -
[TIL] JWT 구조와 Access Token / Refresh Token 뜻,과정22/11/21 16일차
- Today I Learned JWT 구조와 Access Token / Refresh Token 뜻,과정 - JWT 구조 JWT는 [ . ] 을 구분자로 나누어지는 세 가지 문자열의 조합이다. [ . ] 을 기준으로 좌측부터 , Payload, Signature를 의미한다. Header : JWT 에서 사용할 타입과 해시 알고리즘의 종류가 담겨있으며, Payload : 서버에서 첨부한 사용자 권한 정보와 데이터가 담겨있다. Signature : Header, Payload 를 Base64 URL-safe Encode 를 한 이후 Header 에 명시된 해시함수를 적용하고, 개인키(Private Key)로 서명한 전자서명이 담겨있다. 전자서명에는 비대칭 암호화 알고리즘을 사용하므로 암호화를 위한 키와 복..
2022.11.28 -
[TIL] (JWT) Token이란? 22/11/18 15일차
- Today I Learned 이전에 가볍지만 보안에 취약한 쿠키 / 많으면 서버에 부하가 가는 세션에 대해 알아보았었다. 이 둘을 보완한 토큰방식(그 중에서 JWT토큰에 대해 알아보려고 한다.) - Token 이란? 사용자가 아이디와 비밀번호로 로그인을 한다. 서버 측에서 사용자(클라이언트)에게유일한 토큰을 발급한다. 클라이언트는 서버 측에서 전달받은 토큰을 쿠키나 스토리지에 저장해 두고, 서버에 요청을 할 때마다 해당 토큰을 서버HTTP 요청 헤더에 포함시켜 전달한다. 서버는 전달받은 토큰을 검증하고 요청에 응답한다. 토큰에는 요청한 사람의 정보가 담겨있기에 서버는 DB를 조회하지 않고 누가 요청하는지 알 수 있다. 토큰 기반 인증 시스템은 클라이언트가 서버에 접속을 하면 서버에서 해당 클라이언트에..
2022.11.27 -
[TIL] Cookie VS Session, 웹 스토리지 22/11/17 14일차
- Today I Learned CRUD 파트에 들어갔는데 계정으로 추가기능을 활용 해볼수가 없어 USER에 대한 내용을 다시 알아보려고 한다. - 재방문 시 이미 쿠키가 있는 경우 서버에 쿠키를 전달 - 쿠키(Cookie)란? 쿠키란 서버측에서 클라이언트 측에 상태 정보를 저장하고 추출할 수 있는 메커니즘 쿠키는 클라이언트(브라우저) 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일이다. (서버의 자원(메모리)을 사용하지 않기에 서버에 부하를 주지않음) 사용자 인증이 유효한 시간을 명시할 수 있으며, 유효 시간이 정해지면, 브라우저가 종료되어도 인증이 유지된다는 특징이 있다. 쿠키는 클라이언트의 상태 정보를 로컬에 저장했다가 참조한다. 클라이언트에 300개까지 쿠키저장 가능, 하나의 도메인당 20개..
2022.11.27 -
[TIL] REST / REST API / RESTful이란? 22/11/16 13일차
- Today I Learned - 요청 경로를 지정할 urls.py에서 REST에 대한 이해도가 없어 작성할때 작성을 어떤식으로 해야할지 해당 부분에 대해 알아보고자 한다. - REST의 정의 “Representational State Transfer” 의 약자 표현적으로 상태를 전송 - 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미 자원(resource)의 표현(representation) 에 의한 상태 전달 자원: 해당 소프트웨어가 관리하는 모든 것 -> Ex) 문서, 그림, 데이터, 해당 소프트웨어 자체 등 자원의 표현: 그 자원을 표현하기 위한 이름 -> Ex) DB의 영화 정보가 자원일 때, ‘movies’를 자원의 표현으로 정한다. - 상태(정보..
2022.11.25 -
[TIL] 관계형 Model (1 대 1,Many Field) 22/11/15 12일차 미완
- Today I Learned - 이전에 하나의 DB모델을 만들기 위해 모델의 필드와 그 옵션에 대해 알아봤다. 이번엔 그 모델과 다른모델과의 관계성을 알아보려고 했는데, 내용이 많고 복잡해 1개의 모델에 연관성을 주는 Field와 옵션에 대해 먼저 알아보려고 한다! Django의 관계형 Field란? 관계형 데이터베이스의 중요 역할은 모델들을 서로 엮어 관계를 형성하는 것이다. 관계형 데이터베이스의 대표적인 관계로는 1) 일대일(one-to-one) 2) 다대일(many-to-one) 3) 다대다(many-to-many) 이렇게 세 가지가 있다. 처음에는 이게 무슨말인가 싶었는데 일대일? Foreign key인가? 각각의 필드역활인가 했는데 모델의 관계가 어떤식으로 연관이 있는가에 대한 관계를 뜻하는..
2022.11.17