본문 바로가기

분류 전체보기119

토큰을 통한 유저 인증 , 로그인,아웃관리 ( flask-jwt-extended ) 파이썬의 flask-jwt-extended 라는 라이브러리는 java web token 으로 사용자의 로그인, 로그아웃 기능을 구현하며, 그때마다 사용자에게 새로운 토큰을 발행하여, 그 토큰이 권한을 갖게 한다. 아래서 만든 레시피 API에서 레시피를 만들어서 추가하려고 하는데 그 부분을 로그인한 회원만 할 수 있도록 설정 할 수 있다는 것이다. ( 토큰은 회원간에도 다 다르기 때문에 사용자 간의 구분이 가능하고, 내 정보보기등에 설정을 해놓으면, 내가 가진 토큰과는 맞지 않는, 다른 사람은 나의 정보를 볼 수 없다.) 1) 회원가입 먼저 jwt를 사용하기 위해서는 시크릿키를 만들어야 하고, jwtmanagerf 를 활성화해야한다. jwt사용을 위해 JWTManager를 변수에 옮겨닮고, 함수를 적었다... 2021. 4. 8.
API개발 경로와 리소스 이해. 이전에 바로 앞에서 나는 레시피관련 API를 작업하고있었다. 그 이후에 api를 추가함에 경로와 리소스를 연결하는 코드를 몇개 더 추가하였다. 경로와 리소스를 연결하는 코드를 몇개 추가하였다. 제일 위는 나의 호스트/포트번호/recipes 라는 경로로 RecipeListResource 를 연결 한것이다. ( 다른 페이지에 클래스형식으로 되어있음) 여러가지 추가된 것 중에 , 클래스명이 같은것이 하나도 없다. 이는 서로간에 경로가 다르면 클래스명, 연결되는 부분도 다 달라져야한다. 는 플라스크의 방법으로 /recipes/ 숫자 /를 넣겠다는 뜻으로 , 그 숫자는 recipe_id라는 내가 정한 변수로 넣는다는 것이다. 두 번째 코드는 한가지의 레시피를 불러오는 코드인데 , 그 한가지의 음식의 id를 rec.. 2021. 4. 8.
API 서버 실제 구성 ( 데이터베이스 연결, API개발, 경로의 변수처리) flask 기본적인 문법사항이나, 기본 사용법을 마치고, 실제로 API 서버 구성을 해보겠다. 위를 토대로 API 개발을 해본다. 일단 내가 하고 있지만 , 숙련되지 않고는 복잡하다. 먼저 데이터 베이스에서 테이블을 새롭게 만들었다. (recipe) 현재 작성하고 있는 visual studio code에는 폴더를 여러개로 구성하여 , db, config 등 상황별에 맞춰 파일이 저장되어 있음을 참고한다. 먼저 이 데이터 베이스의 모든 정보를 가져오는(GET) API 를 만들어본다. 이 실제 API는 기문 문법에서 이용한 문법과는 다르게 , 클래스와 함수로 처리하는 부분이 많다. 먼저 데이터 베이스와 연결을 해주는 커넥터를 연결하기 위한 함수를 db 폴더의 db.py 파일에 작성하였다. 1 2 3 4 5 .. 2021. 4. 8.
JSON 형식 메세지 처리 (POSTMAN설치) 앞서 이야기 했듯이 , 클라이언트와의 요청과 응답은 JSON형식으로 한다. 이번에는 이전에 hello world 를 화면에 출력하였지만, JSON 형식으로 출력을 해보겠다. 이 출력을 보면 JSON 형식을 이해 할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 from flask import Flask # flask import app = Flask(__name__) # flask 사용하기 위한 기본 코드 # get localhost:5000/ @app.route('/act', methods = ['GET']) # http://localhost:5000/act 라는 URL로 설정. def act(): # JSON 형식으로 함수 작성 ret = {"coun.. 2021. 4. 7.
728x90