크래프톤 정글 TIL : 0702

lazyArtisan·2024년 7월 2일
0

정글 TIL

목록 보기
2/147

파이썬

*args : 여러 개의 인자를 받아서 튜플로 저장
**kwargs : 인자를 받아서 딕셔너리로 저장

토큰방식이 단순히 유저가 보낸 토큰을 서버에서 디코딩해서 다시 돌려주는거는 아니다...

토큰
헤더 : 토큰 타입, 해싱 알고리즘 정보
페이로드 : 사용자 정보, 클레임(토큰 발행자, 유효 기간, 사용자 ID)
서명 : 헤더와 페이로드를 결합하고 비밀 키로 서명하여 생성.

  1. 사용자는 쿠키 또는 로컬 스토리지에 토큰 값을 가지고 있다가 로그인 인증이 필요한 경우, 헤더에 해당 값을 첨부하여 로그인
  2. 토큰을 서버에 전달받고 암호화 키로 토큰을 디코딩하여 해당 유저에 맞는 기능 수행

리눅스 mongodb 세팅

systorage.tistory.com/entry/MongoDB-linuxunbuntu에-mongodb-설치하기

리눅스 시작할 때 항상 mongodb 실행

sudo systemctl enable mongod

vi 사용법

https://jitolit.tistory.com/27

파이썬 데코레이터

데코레이터 함수의 파라미터는 데코레이터가 감싸고 있는 원래의 함수(뷰 함수)를 가리킴

@wraps 데코레이터는 원래 함수의 메타데이터(이름, 문서 문자열 등)를 보존하기 위해 사용됨

flask g

from flask import Flask, g, request

app = Flask(__name__)

@app.before_request
def before_request():
    # 각 요청 전에 실행됩니다.
    g.user = 'Guest'  # 예를 들어 사용자 정보를 저장할 수 있습니다.

@app.route('/')
def index():
    # g.user에 저장된 데이터에 접근할 수 있습니다.
    return f'Hello, {g.user}!'

if __name__ == '__main__':
    app.run(debug=True)

g는 Flask에서 제공하는 전역 객체로, 요청 간에 데이터를 저장하고 공유할 수 있도록 도와줌. g 객체는 요청의 범위 내에서만 존재하며, 각 요청이 끝나면 초기화

flask flash alert

{% with messages = get_flashed_messages() %}
    {% if messages %}
        <script>
            alert("{{messages[-1]}}")
        </script>
    {% endif %}
{% endwith %}

이걸 html에 추가하면
flask에서 flash로 날린 메시지를 alert로 띄울 수 있다
출처 : https://journeytosth.tistory.com/45

@jwt_required(fresh=True)

"신선한" (fresh) JWT 토큰을 요구.
신선한 토큰 : 사용자 인증 후 생성된지 얼마되지 않은 토큰.
예를 들어, 사용자가 비밀번호를 입력하여 로그인했을 때 발급된 토큰.

신선한 토큰은 다음과 같은 시나리오에서 유용:

민감한 작업을 수행하기 전에 추가 인증 단계를 거치게 하기 위해.
사용자가 비밀번호를 다시 입력해야 하는 보안 작업을 수행할 때.

@jwt_required(optional=True)

JWT 토큰이 있을 경우에만 검증을 수행.
토큰이 없는 요청도 허용되지만,
JWT 토큰이 있는 경우에는 토큰의 유효성을 검증.

인증이 선택 사항인 경우에 유용합니다.

사용자가 로그인한 경우와 로그인하지 않은 경우에 대해
다른 응답을 제공하고자 할 때 사용.

되돌리는 버전을 새로 커밋하기

git revert head~1 혹은 git revert 커밋해시코드

원하는 버전으로 되돌려지지를 않아서 삭제하고 깃에서 다시 다운 받았는데
가상환경이 풀려버림

0개의 댓글