Merge pull request #226 feature-NEWDWH2021-1128 into develop

This commit is contained in:
下田雅人 2023-07-05 16:31:25 +09:00
commit b2b1cfc2ae
4 changed files with 10 additions and 8 deletions

View File

@ -73,7 +73,7 @@ def login(
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail=constants.LOGOUT_REASON_LOGIN_ERROR)
except JWTTokenVerifyException as e:
logger.info(f'ログイン失敗:{e}')
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail=constants.LOGOUT_REASON_SESSION_EXPIRED)
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED)
verified_token = jwt_token.verify_token()
# 普通の認証だと、`cognito:username`に入る。
@ -130,8 +130,8 @@ def sso_authorize(
# トークン検証
verified_token = jwt_token.verify_token()
except JWTTokenVerifyException as e:
logger.exception(f'SSOログイン失敗{e}')
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail=constants.LOGOUT_REASON_SESSION_EXPIRED)
logger.info(f'SSOログイン失敗{e}')
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED)
# トークンからユーザーIDを取得
user_id = verified_token.user_id

View File

@ -22,11 +22,16 @@ def logout_view(
reason: Optional[str] = None,
session: Union[UserSession, None] = Depends(verify_session)
):
# どういうルートでログインしたかを判断するため、refererを取得
referer = request.headers.get('referer', '')
redirect_to = '/login/userlogin'
link_text = 'MeDaCA機能メニューへ'
if session is not None and session.user_flg == '1':
# セッションが切れておらず、メンテユーザである、またはメンテログイン画面から遷移した場合、メンテログイン画面に戻す
if (session is not None and session.user_flg == '1') or referer.endswith('maintlogin'):
redirect_to = '/login/maintlogin'
link_text = 'Login画面に戻る'
logout = LogoutViewModel()
logout.redirect_to = redirect_to
logout.reason = constants.LOGOUT_REASON_MESSAGE_MAP.get(reason, '')

View File

@ -90,8 +90,7 @@ class BeforeCheckSessionRoute(MeDaCaRoute):
verified_session = verify_session(checked_session)
# セッションが有効でない場合、エラーにする
if verified_session is None:
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED,
detail=constants.LOGOUT_REASON_SESSION_EXPIRED)
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED)
scope = request.scope
scope['session'] = verified_session
session_request = Request(receive=request.receive, scope=scope)

View File

@ -119,7 +119,6 @@ LOGOUT_REASON_BATCH_PROCESSING = 'batch_processing'
LOGOUT_REASON_BATCH_PROCESSING_FOR_MAINTE = 'batch_processing_ult'
LOGOUT_REASON_BACKUP_PROCESSING = 'dump_processing'
LOGOUT_REASON_NOT_LOGIN = 'not_login'
LOGOUT_REASON_SESSION_EXPIRED = 'session_expired'
LOGOUT_REASON_DB_ERROR = 'db_error'
LOGOUT_REASON_UNEXPECTED = 'unexpected'
@ -130,7 +129,6 @@ LOGOUT_REASON_MESSAGE_MAP = {
LOGOUT_REASON_BATCH_PROCESSING_FOR_MAINTE: '日次バッチ処理中のため、<br>マスタ-メンテは使用出来ません。',
LOGOUT_REASON_BACKUP_PROCESSING: 'バックアップ取得を開始しました。<br>日次バッチ更新が終了するまでマスターメンテは使用できません',
LOGOUT_REASON_NOT_LOGIN: 'Loginしてからページにアクセスしてください。',
LOGOUT_REASON_SESSION_EXPIRED: 'セッションが切れています。<br>再度Loginしてください。',
LOGOUT_REASON_DB_ERROR: 'DB接続に失敗しました。<br>再度Loginするか、<br>管理者にお問い合わせください。',
LOGOUT_REASON_UNEXPECTED: '予期しないエラーが発生しました。<br>再度Loginするか、<br>管理者に問い合わせてください。'
}