본문 바로가기

jwt

(5)
FastAPI를 사용하여 TODO 애플리케이션 만들기 - 03 인증: 현재 사용자 FastAPI를 사용하여 서비스를 개발하여 FastAPI와 Python의 기능을 익히고자 합니다. 애플리케이션은 TODO 애플리케이션을 개발하고자 합니다. 이번 내용은 서비스 개발에 중점을 두었습니다. Python과 FastAPI 기능에 대한 내용은 생략하겠습니다. 추가로 Dabtbase는 PostgreSQL을 사용합니다. github: https://github.com/just-record/todo_fastapi 각 단계별로 branch를 생성하여 작업합니다. 세 번째로 JWT 토큰을 이용하여 현재 사용자를 확인하는 기능입니다. 5. 현재 사용자 api/endpoints/auth.py(수정) 전송 된 JWT 토큰을 이용 하여 현재 사용자를 확인하는 endpoint('me')를 추가합니다. endpoin..
FastAPI를 사용하여 TODO 애플리케이션 만들기 - 02 인증: 로그인 FastAPI를 사용하여 서비스를 개발하여 FastAPI와 Python의 기능을 익히고자 합니다. 애플리케이션은 TODO 애플리케이션을 개발하고자 합니다. 이번 내용은 서비스 개발에 중점을 두었습니다. Python과 FastAPI 기능에 대한 내용은 생략하겠습니다. 추가로 Dabtbase는 PostgreSQL을 사용합니다. github: https://github.com/just-record/todo_fastapi 각 단계별로 branch를 생성하여 작업합니다. 두 번째로 로그인 기능입니다. 4. Login 로그인을 위한 endpoint를 추가하고, 로그인 성공 시 JWT 토큰을 생성합니다. db/utils.py(새로생성) get_db 함수를 작성 하여 공용으로 사용할 수 있도록 합니다. from .da..
Python - JSON(JavaScript Object Notation) JSON 이란 JSON은 간결하고 가벼운 데이터 교환 형식입니다. 사람이 읽고 쓰기 쉬우며, 기계가 구문 분석하고 생성하기 쉽습니다. 2001년 Douglas Crockford에 의해 처음 지정되었습니다. 당초에는 JavaScript 프로그래밍 언어의 하위 집합으로 설계되었지만, 현재는 언어에 독립적인 데이터 형식으로 사용됩니다. 사용 사례 웹 애플리케이션에서 브라우저와 서버 간에 데이터를 전송하는 데 널리 사용됩니다. 다양한 프로그래밍 언어에서 JSON 데이터를 쉽게 읽고 쓸 수 있습니다. REST API에서 데이터를 교환하는 표준 형식으로 자리 잡았습니다. NoSQL 데이터베이스(MongoDB 등)에서 데이터를 저장하는 형식으로 활용됩니다. 구성 파일, 로그 파일 등의 표현에도 사용될 수 있습니다. ..
FastAPI - 18 (보안4 - QAuth2, Bearer, JWT - 클라이언트 구성 ) 인증서버와 인증을 요청하는 클라이언트를 각각 구성하겠습니다. 환경 구성 인증 서버 설정 인증 서버 코드 작성(main.py): 사용자 인증과 JWT 토큰 발급을 처리하는 FastAPI 애플리케이션을 작성합니다. 이 서버는 로그인 엔드포인트(/token)를 제공하고 유효한 자격 증명을 가진 사용자에게 JWT 토큰을 발급합니다. 인증 서버 실행: 인증 서버를 8000 포트에서 실행합니다. uvicorn uvicorn main:app --reload --port 8000 클라이언트 서버 설정 클라이언트 서버 코드 작성(main_client.py): 인증 서버와 다른 FastAPI 애플리케이션을 작성하여 클라이언트 서버로 사용합니다. 이 서버는 인증이 필요한 엔드포인트를 제공하며, 요청의 Authorizatio..
FastAPI - 17 (보안3 - JWT) 출처: https://fastapi.tiangolo.com/tutorial/security/oauth2-jwt/ 아래의 내용은 공식 사이트의 내용을 제 경험과 생각을 추가하여 다시 정리한 것 입니다. JWT란 먼저 OAuth 2.0에서 발급되는 Bearer 토큰의 형태 중 하나가 JWT입니다. JWT 정의: JWT (JSON Web Tokens)는 JSON 객체를 긴 문자열로 인코딩하는 표준입니다. 이 문자열은 공백 없이 밀집되어 있습니다. 예시 형태: JWT는 다음과 같은 형태를 가집니다: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJ..