RestFul API 22

JWT(양방향) 암호화 로그인 API 만들기

로그인 API 만들기     app.py에 삽입 from resources.user import UserLoginResourceapi.add_resource( UserLoginResource, '/users/login')  app.py 파일에 추가 from flask_jwt_extended import JWTManagerfrom config import Config# app = Flask(__name__) 아래에 추가# 환경변수 셋팅app.config.from_object(Config)# JWT 매니저 초기화jwt = JWTManager(app)# api = Api(app) 위에 추가      user.py에 삽입 from utils import check_password #4에서 삽입from flas..

RestFul API 2024.05.22

JWT 암호화(인증토큰) 사용하여 회원가입 API에 적용하기

https://codebunny99.tistory.com/93 MySQL DB와 Postman을 연동하여 회원가입 API 만들기이메일 형식이 올바른지 확인하기 위해 사용하는 라이브러리 설치 pip install email-validatorpip install passlibpip install psycopg2-binary   DB와 postman을 연동하는 방법은 아래 글을 참고한다  https://codebunnycodebunny99.tistory.com위 블로그 글을 먼저 보고 온다.     ***** 중요 ****** >  user_id가 노출되면 안되므로 user_id를 암호화하려고 한다.     JWT(JSON WEP TOKEN) 암호화 JWT는 양방향으로 암호화하는 방식으로, JWT_ACCE..

RestFul API 2024.05.22

MySQL DB와 Postman을 연동하여 회원가입 API 만들기

회원가입 API 생성하기 이메일 형식이 올바른지 확인하기 위해 사용하는 라이브러리 설치 pip install email-validatorpip install passlibpip install psycopg2-binary   DB와 postman을 연동하는 방법은 아래 글을 참고한다  https://codebunny99.tistory.com/87 MySQL DB를 RestFul API로 GET하기(DB에 있는 데이터 가져오는 API 만들기)Postman   GET의 Request는 Query String(Query Parameters)을 사용한다- offset : 0- limit : 25     DB 설계하기 코드 입력하고 실행하기 (비밀번호 부분 수정해서 입력한다)-- recipe_db 에만 전용으로 접..

RestFul API 2024.05.22

Hashing 알고리즘 : 단방향 암호화 실행하기 : utils 파일 만들기

Hashing 알고리즘 - Hashing알고리즘은 단방향 암호화로,  - 원본 데이터를 해시값으로부터 복원하는 것이 불가능하므로 보안이 중요한 분야에서 많이 활용된다. - 데이터 무결성 검사, 비밀번호 저장, 디지털 서명, 블록체인 등 다양한 분야에서 사용된다.  vscode 터미널 cmd에서 설치하기pip install email-validatorpip install passlibpip install psycopg2-binary    SALT를 config 파일에 만든다. (SALT는 random_state와 비슷한 개념으로, 노출되면 해킹될 수 있다.)SALT는 본인이 원하는대로 아무렇게나 지정하면 된다    utils.py 만들기from passlib.hash import pbkdf2_sha256f..

RestFul API 2024.05.22

Is_publish 컬럼을 update하여 "임시 저장" 기능의 API 만들기

is_publish라는 컬럼은 0은 공개되지 않았음을 뜻하고, 1은 공개되었음을 뜻한다 따라서 /publish 라는 path를 만들어서 is_publish 컬럼을 0또는 1로 업데이트 하여 공개된 글로 만들것인지, 아닌지를 결정하는 임시저장 기능을 API로 구현할 수 있다.     app.py 작성하기        recipe.py 작성하기 from flask import requestfrom flask_restful import Resourcefrom mysql_connection import get_connectionfrom mysql.connector import Errorclass RecipePublishResource(Resource): def put(self, recipe_id):..

RestFul API 2024.05.21

Flask(플라스크)를 사용하여 MySQL DB의 데이터를 삭제(DELETE)하는 API 만들기

초기 DB 데이터     ( recipes/6 ) 즉,  id = 6인 데이터를 삭제하려고 한다.   DB와 postman을 연동하는 방법은 아래 글을 참고한다  https://codebunny99.tistory.com/87 MySQL DB 설계, 연동하여 RestFul API로 GET하기(DB에 있는 데이터 가져오는 API)Postman   GET의 Request는 Query String(Query Parameters)을 사용한다- offset : 0- limit : 25     DB 설계하기 코드 입력하고 실행하기 (비밀번호 부분 수정해서 입력한다)-- recipe_db 에만 전용으로 접속할 수codebunny99.tistory.com     VSCode  app.py 작성하기    이렇게 작성하는 ..

RestFul API 2024.05.21

Flask(플라스크)를 사용하여 MySQL DB의 데이터를 수정(PUT)하는 API 만들기

초기 DB 데이터      ( recipes/2 )  즉, id = 2인 데이터를 아래와 같이 수정하려고 한다.  Body 를 클릭하고 raw(날 것의 데이터)에서 데이터를 Json형식으로 넣어주었다.      DB와 postman을 연동하는 방법은 아래 글을 참고한다  https://codebunny99.tistory.com/87 MySQL DB 설계, 연동하여 RestFul API로 GET하기(DB에 있는 데이터 가져오는 API)Postman   GET의 Request는 Query String(Query Parameters)을 사용한다- offset : 0- limit : 25     DB 설계하기 코드 입력하고 실행하기 (비밀번호 부분 수정해서 입력한다)-- recipe_db 에만 전용으로 접속할 ..

RestFul API 2024.05.21

Flask(플라스크)를 사용하여 MySQL DB의 원하는 데이터를 가져오는(GET) API 만들기

결과 미리보기        DB와 postman을 연동하는 방법은 아래 글을 참고한다  https://codebunny99.tistory.com/87 MySQL DB 설계, 연동하여 RestFul API로 GET하기(DB에 있는 데이터 가져오는 API)Postman   GET의 Request는 Query String(Query Parameters)을 사용한다- offset : 0- limit : 25     DB 설계하기 코드 입력하고 실행하기 (비밀번호 부분 수정해서 입력한다)-- recipe_db 에만 전용으로 접속할 수codebunny99.tistory.com    VSCode  app.py 작성하기   이렇게 작성하는 것을 Flask(플라스크) 라고 한다   Flask는 Python으로 작성된 경..

RestFul API 2024.05.21

MySQL DB를 RestFul API와 연결하고 Postman으로 실행하기 + Get API

Postman   GET의 Request는 Query String(Query Parameters)을 사용한다- offset : 0- limit : 25     DB 설계하기 코드 입력하고 실행하기 (비밀번호 부분 수정해서 입력한다)-- recipe_db 에만 전용으로 접속할 수 있는 계정을 만들어야 한다use mysql;create user 'recipe_db_user'@'%' identified by '비밀번호 자유롭게 설정한다';grant ALL privileges on recipe_db.* to 'recipe_db_user'@'%';   aws 엔드포인트 복사     MySQL Hostname에 붙여넣기   비밀번호는 앞전에 설정한대로 입력하기     DB로 들어가 recipe Table을 만든다 ..

RestFul API 2024.05.21

RestFul API에서 POST하기(클라이언트가 데이터 입력하면 DB에 저장하기) : mysql_connection와 config 파일 만들기

DB 설계하기 코드 입력하고 실행하기 (비밀번호 부분 수정해서 입력한다)-- recipe_db 에만 전용으로 접속할 수 있는 계정을 만들어야 한다use mysql;create user 'recipe_db_user'@'%' identified by '비밀번호 자유롭게 설정한다';grant ALL privileges on recipe_db.* to 'recipe_db_user'@'%';   aws 엔드포인트 복사     MySQL Hostname에 붙여넣기    비밀번호는 앞전에 설정한대로 입력하기      DB로 들어가 recipe Table을 만든다       Postman 실행하기 New -> collection 해도 되고, +모양을 눌러서 Blanck collection 해도 된다.     ...  ..

RestFul API 2024.05.20