feat: 疑わしきところにログ追加、コメントも追加。
This commit is contained in:
parent
920ae17836
commit
2107211d95
@ -32,8 +32,10 @@ def check_session_expired(session: Union[UserSession, None] = Depends(get_curren
|
||||
return None
|
||||
|
||||
last_access_time = session.last_access_time
|
||||
session_expired_period = datetime.datetime.fromtimestamp(
|
||||
last_access_time) + datetime.timedelta(minutes=environment.SESSION_EXPIRE_MINUTE)
|
||||
last_access_datetime = datetime.datetime.fromtimestamp(last_access_time)
|
||||
session_expired_period = last_access_datetime + datetime.timedelta(minutes=environment.SESSION_EXPIRE_MINUTE)
|
||||
logger.debug(f'last_access_time: {last_access_datetime}')
|
||||
logger.debug(f'session_expired_period: {session_expired_period}')
|
||||
if session_expired_period < datetime.datetime.now():
|
||||
return None
|
||||
|
||||
@ -49,4 +51,5 @@ def verify_session(session: Union[UserSession, None] = Depends(check_session_exp
|
||||
except JWTTokenVerifyException as e:
|
||||
logger.info(e)
|
||||
return None
|
||||
# FIXME: ここで検証後のセッションになっていないのでは?
|
||||
return session
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
import base64
|
||||
import datetime
|
||||
import json
|
||||
from typing import Optional
|
||||
|
||||
@ -7,8 +8,11 @@ import requests
|
||||
from starlette import status
|
||||
|
||||
from src.error.exceptions import JWTTokenVerifyException
|
||||
from src.logging.get_logger import get_logger
|
||||
from src.system_var import environment
|
||||
|
||||
logger = get_logger('JWTトークン検証')
|
||||
|
||||
|
||||
class JWTToken:
|
||||
id_token: str
|
||||
@ -134,8 +138,13 @@ class JWTToken:
|
||||
# Cognitoのサーバー時間とのズレにより、Issued atクレームの検証に失敗するパターンに対処する
|
||||
options={'verify_iat': False}
|
||||
)
|
||||
# トークン有効期限をログに出力
|
||||
exp = verified_jwt.get('exp', '')
|
||||
expire_datetime = datetime.datetime.fromtimestamp(verified_jwt['iat']) if exp else None
|
||||
logger.info(f"トークン有効期限:{expire_datetime}")
|
||||
# 有効期限(exp)が切れた場合、トークンをリフレッシュする
|
||||
except jwt.ExpiredSignatureError:
|
||||
logger.info('IDトークンの有効期限が切れたため、トークンをリフレッシュ')
|
||||
refreshed_jwt_token = JWTToken.refresh(self.refresh_token)
|
||||
return refreshed_jwt_token.verified_token()
|
||||
# 有効期限以外の検証に失敗した場合は例外とする
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user