Flask
로그인한 유저만 처리할 수 있는 API 에 토큰 적용하는 방법
yugyeong
2023. 1. 5. 15:59
로그인한 유저만 처리할 수 있는 API 에 토큰을 적용하는 방법이다.
예를 들어서 레시피 작성하는 api 를 생성한다고 할 때, 내가 만든 레시피 리스트만 뽑아서 보거나 , 내 아이디로 레시피를 게시글을 작성할 때 이용하는 방법이다.
API 함수를 작성할 때 함수 젤 위에
@jwt_required() 를 작성을 해준다.
함수 안에서 get_jwt_identity() 를 변수 user_id 로 받아주면, 로그인한 유저만 처리할 수 있도록 토큰을 변수 user_id 로 가져온 것이다.
쿼리문에서 user_id 에 변수 설정을 해주고, record 에는 위에서 받아온 user_id 를 넣어주면 된다.
@jwt_required()
def put(self, recipe_id) :
user_id = get_jwt_identity()
try :
connection = get_connection()
query = '''update recipe
set
is_publish = 1
where id = %s and user_id = %s;'''
record = (recipe_id, user_id)
cursor = connection.cursor()
cursor.execute(query, record)
connection.commit()
cursor.close()
connection.close()
except Error as e :
print(e)
cursor.close()
connection.close()
return {'result' : 'fail', 'error' : str(e)} , 500
return {'result' : 'success'}, 200
postman
postman 으로 이동을 한다.
Headers 로 가서 KEY 값은 Authorization 으로 설정을 해준다.
VALUE 에는 제일 앞에 Bearer 를 입력한 후, 한칸 띄어서 access_token 값을 넣어주고 실행을 하면 된다.
