From d869a91eaebf773fd999b69f87364c402197b781 Mon Sep 17 00:00:00 2001
From: "nik.n"
Date: Fri, 12 Jan 2024 16:10:25 +0900
Subject: [PATCH 01/21] =?UTF-8?q?=E4=BF=AE=E6=AD=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ecs/jskult-webapp/src/controller/logout.py | 108 ++++++++++--------
.../src/services/session_service.py | 47 +++++---
2 files changed, 86 insertions(+), 69 deletions(-)
diff --git a/ecs/jskult-webapp/src/controller/logout.py b/ecs/jskult-webapp/src/controller/logout.py
index 8a633f6c..69de2c22 100644
--- a/ecs/jskult-webapp/src/controller/logout.py
+++ b/ecs/jskult-webapp/src/controller/logout.py
@@ -1,50 +1,58 @@
-from typing import Optional, Union
-
-from fastapi import APIRouter, Depends, Request
-from fastapi.responses import HTMLResponse
-
-from src.depends.auth import get_current_session
-from src.model.internal.session import UserSession
-from src.model.view.logout_view_model import LogoutViewModel
-from src.system_var import constants
-from src.templates import templates
-
-router = APIRouter()
-
-#########################
-# Views #
-#########################
-
-
-@router.get('/', response_class=HTMLResponse)
-def logout_view(
- request: Request,
- reason: Optional[str] = None,
- session: Union[UserSession, None] = Depends(get_current_session)
-):
- # どういうルートでログインしたかを判断するため、refererを取得
- referer = request.headers.get('referer', '')
-
- redirect_to = '/login/userlogin'
- link_text = 'MeDaCA機能メニューへ'
- # セッションが切れておらず、メンテユーザである、またはメンテログイン画面から遷移した場合、メンテログイン画面に戻す
- if (session is not None and session.user_flg == str(constants.PERMISSION_ENABLED)) \
- or referer.endswith('maintlogin'):
- redirect_to = '/login/maintlogin'
- link_text = 'Login画面に戻る'
-
- logout = LogoutViewModel(
- redirect_to=redirect_to,
- reason=constants.LOGOUT_REASON_MESSAGE_MAP.get(reason, ''),
- link_text=link_text
- )
- template_response = templates.TemplateResponse(
- 'logout.html',
- {
- 'request': request,
- 'logout': logout,
- }
- )
- # クッキーを削除
- template_response.delete_cookie('session')
- return template_response
+from typing import Optional, Union
+
+from fastapi import APIRouter, Depends, Request
+from fastapi.responses import HTMLResponse
+
+from src.depends.auth import get_current_session
+from src.model.internal.session import UserSession
+from src.model.view.logout_view_model import LogoutViewModel
+from src.system_var import constants
+from src.templates import templates
+
+router = APIRouter()
+
+#########################
+# Views #
+#########################
+
+def delete_session(session: Union[UserSession, None] = Depends(get_current_session)):
+ if session:
+ session.delete()
+
+
+@router.get('/', response_class=HTMLResponse)
+def logout_view(
+ request: Request,
+ reason: Optional[str] = None,
+ session: Union[UserSession, None] = Depends(get_current_session)
+):
+ # どういうルートでログインしたかを判断するため、refererを取得
+ referer = request.headers.get('referer', '')
+
+ redirect_to = '/login/userlogin'
+ link_text = 'MeDaCA機能メニューへ'
+ # セッションが切れておらず、メンテユーザである、またはメンテログイン画面から遷移した場合、メンテログイン画面に戻す
+ if (session is not None and session.user_flg == str(constants.PERMISSION_ENABLED)) \
+ or referer.endswith('maintlogin'):
+ redirect_to = '/login/maintlogin'
+ link_text = 'Login画面に戻る'
+
+ logout = LogoutViewModel(
+ redirect_to=redirect_to,
+ reason=constants.LOGOUT_REASON_MESSAGE_MAP.get(reason, ''),
+ link_text=link_text
+ )
+ template_response = templates.TemplateResponse(
+ 'logout.html',
+ {
+ 'request': request,
+ 'logout': logout,
+ }
+ )
+ # クッキーを削除
+ template_response.delete_cookie('session')
+
+ # セッション削除
+ delete_session(session)
+
+ return template_response
diff --git a/ecs/jskult-webapp/src/services/session_service.py b/ecs/jskult-webapp/src/services/session_service.py
index 657e648d..48edbcd4 100644
--- a/ecs/jskult-webapp/src/services/session_service.py
+++ b/ecs/jskult-webapp/src/services/session_service.py
@@ -1,19 +1,28 @@
-
-from src.logging.get_logger import get_logger
-from src.model.internal.session import UserSession
-
-logger = get_logger('セッション管理')
-
-
-def set_session(session: UserSession) -> str:
- session.save()
- return session.session_key
-
-
-def get_session(key: str) -> UserSession:
- try:
- session = UserSession.get(hash_key=key, consistent_read=True)
- return session
- except UserSession.DoesNotExist as e:
- logger.debug(f'セッション取得失敗:{e}')
- return None
+
+from src.logging.get_logger import get_logger
+from src.model.internal.session import UserSession
+
+logger = get_logger('セッション管理')
+
+
+def set_session(session: UserSession) -> str:
+ session.save()
+ return session.session_key
+
+
+def get_session(key: str) -> UserSession:
+ try:
+ session = UserSession.get(hash_key=key, consistent_read=True)
+ return session
+ except UserSession.DoesNotExist as e:
+ logger.debug(f'セッション取得失敗:{e}')
+ return None
+
+def delete_session (key: str) -> bool:
+ try:
+ session = UserSession.get(hash_key=key, consistent_read=True)
+ session.delete()
+ return True
+ except UserSession.DoesNotExist as e:
+ logger.debug(f'セッション削除失敗:{e}')
+ return False
\ No newline at end of file
From ead12039a7972bd34c89b2b2394cf4aafc2630d5 Mon Sep 17 00:00:00 2001
From: Nik Afiq
Date: Mon, 15 Jan 2024 17:11:46 +0900
Subject: [PATCH 02/21] =?UTF-8?q?=E6=8C=87=E6=91=98=E4=BF=AE=E6=AD=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ecs/jskult-webapp/src/controller/logout.py | 9 ++++-----
ecs/jskult-webapp/src/services/session_service.py | 10 ++++------
2 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/ecs/jskult-webapp/src/controller/logout.py b/ecs/jskult-webapp/src/controller/logout.py
index 69de2c22..bae8a3aa 100644
--- a/ecs/jskult-webapp/src/controller/logout.py
+++ b/ecs/jskult-webapp/src/controller/logout.py
@@ -8,16 +8,14 @@ from src.model.internal.session import UserSession
from src.model.view.logout_view_model import LogoutViewModel
from src.system_var import constants
from src.templates import templates
+from src.services.session_service import SessionService
router = APIRouter()
#########################
# Views #
#########################
-
-def delete_session(session: Union[UserSession, None] = Depends(get_current_session)):
- if session:
- session.delete()
+
@router.get('/', response_class=HTMLResponse)
@@ -53,6 +51,7 @@ def logout_view(
template_response.delete_cookie('session')
# セッション削除
- delete_session(session)
+ if session:
+ SessionService.delete_session(session)
return template_response
diff --git a/ecs/jskult-webapp/src/services/session_service.py b/ecs/jskult-webapp/src/services/session_service.py
index 48edbcd4..b58d7241 100644
--- a/ecs/jskult-webapp/src/services/session_service.py
+++ b/ecs/jskult-webapp/src/services/session_service.py
@@ -18,11 +18,9 @@ def get_session(key: str) -> UserSession:
logger.debug(f'セッション取得失敗:{e}')
return None
-def delete_session (key: str) -> bool:
+def delete_session (session: UserSession):
try:
- session = UserSession.get(hash_key=key, consistent_read=True)
session.delete()
- return True
- except UserSession.DoesNotExist as e:
- logger.debug(f'セッション削除失敗:{e}')
- return False
\ No newline at end of file
+ return
+ except:
+ return
\ No newline at end of file
From 5c49c92b6b8d1d8aae984aa95ed7628d451fd068 Mon Sep 17 00:00:00 2001
From: Nik Afiq
Date: Mon, 15 Jan 2024 17:12:39 +0900
Subject: [PATCH 03/21] =?UTF-8?q?'=E6=8C=87=E6=91=98=E4=BF=AE=E6=AD=A3'?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ecs/jskult-webapp/.vscode/recommended_settings.json | 1 -
1 file changed, 1 deletion(-)
diff --git a/ecs/jskult-webapp/.vscode/recommended_settings.json b/ecs/jskult-webapp/.vscode/recommended_settings.json
index d5ce3e07..1999a40e 100644
--- a/ecs/jskult-webapp/.vscode/recommended_settings.json
+++ b/ecs/jskult-webapp/.vscode/recommended_settings.json
@@ -6,7 +6,6 @@
"source.organizeImports": true
}
},
- // 自身の環境に合わせて変えてください
"python.defaultInterpreterPath": "",
"python.linting.lintOnSave": true,
"python.linting.enabled": true,
From 5d4a237904b4c90e7af083306897c4e37b0dbb47 Mon Sep 17 00:00:00 2001
From: "nik.n"
Date: Mon, 15 Jan 2024 17:32:17 +0900
Subject: [PATCH 04/21] =?UTF-8?q?max=5Fage=E5=89=8A=E9=99=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ecs/jskult-webapp/src/controller/bio_api.py | 2 --
ecs/jskult-webapp/src/router/session_router.py | 1 -
2 files changed, 3 deletions(-)
diff --git a/ecs/jskult-webapp/src/controller/bio_api.py b/ecs/jskult-webapp/src/controller/bio_api.py
index 982ef8d2..2f96408a 100644
--- a/ecs/jskult-webapp/src/controller/bio_api.py
+++ b/ecs/jskult-webapp/src/controller/bio_api.py
@@ -83,7 +83,6 @@ def search_bio_data(
json_response.set_cookie(
key='session',
value=session.session_key,
- max_age=environment.SESSION_EXPIRE_MINUTE * 60, # cookieの有効期限は秒数指定なので、60秒をかける
secure=True,
httponly=True
)
@@ -156,7 +155,6 @@ async def download_bio_data(
json_response.set_cookie(
key='session',
value=session.session_key,
- max_age=environment.SESSION_EXPIRE_MINUTE * 60, # cookieの有効期限は秒数指定なので、60秒をかける
secure=True,
httponly=True
)
diff --git a/ecs/jskult-webapp/src/router/session_router.py b/ecs/jskult-webapp/src/router/session_router.py
index 9389a722..a4a28e25 100644
--- a/ecs/jskult-webapp/src/router/session_router.py
+++ b/ecs/jskult-webapp/src/router/session_router.py
@@ -123,7 +123,6 @@ class AfterSetCookieSessionRoute(MeDaCaRoute):
response.set_cookie(
key='session',
value=session_key,
- max_age=environment.SESSION_EXPIRE_MINUTE * 60, # cookieの有効期限は秒数指定なので、60秒をかける
secure=True,
httponly=True
)
From 6371924bd930baf9a9b5da76b3282d48414a40d2 Mon Sep 17 00:00:00 2001
From: "nik.n"
Date: Tue, 16 Jan 2024 14:00:57 +0900
Subject: [PATCH 05/21] =?UTF-8?q?'=E6=8C=87=E6=91=98=E5=AF=BE=E5=BF=9C?=
=?UTF-8?q?=EF=BC=9Aimport=E4=BF=AE=E6=AD=A3=E3=83=BB=E5=91=BC=E3=81=B3?=
=?UTF-8?q?=E5=87=BA=E3=81=97=E4=BF=AE=E6=AD=A3'?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ecs/jskult-webapp/.vscode/recommended_settings.json | 1 +
ecs/jskult-webapp/src/controller/logout.py | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/ecs/jskult-webapp/.vscode/recommended_settings.json b/ecs/jskult-webapp/.vscode/recommended_settings.json
index 1999a40e..d5ce3e07 100644
--- a/ecs/jskult-webapp/.vscode/recommended_settings.json
+++ b/ecs/jskult-webapp/.vscode/recommended_settings.json
@@ -6,6 +6,7 @@
"source.organizeImports": true
}
},
+ // 自身の環境に合わせて変えてください
"python.defaultInterpreterPath": "",
"python.linting.lintOnSave": true,
"python.linting.enabled": true,
diff --git a/ecs/jskult-webapp/src/controller/logout.py b/ecs/jskult-webapp/src/controller/logout.py
index bae8a3aa..76d9ef60 100644
--- a/ecs/jskult-webapp/src/controller/logout.py
+++ b/ecs/jskult-webapp/src/controller/logout.py
@@ -8,7 +8,7 @@ from src.model.internal.session import UserSession
from src.model.view.logout_view_model import LogoutViewModel
from src.system_var import constants
from src.templates import templates
-from src.services.session_service import SessionService
+from src.services import session_service
router = APIRouter()
@@ -52,6 +52,6 @@ def logout_view(
# セッション削除
if session:
- SessionService.delete_session(session)
+ session_service.delete_session(session)
return template_response
From fe1e73e52d18307e6355dacaa08d05e9ebaaa04a Mon Sep 17 00:00:00 2001
From: "nik.n"
Date: Tue, 16 Jan 2024 16:22:02 +0900
Subject: [PATCH 06/21] =?UTF-8?q?API=E3=83=89=E3=82=AD=E3=83=A5=E3=83=A1?=
=?UTF-8?q?=E3=83=B3=E3=83=88=E9=9D=9E=E8=A1=A8=E7=A4=BA=E3=81=99=E3=82=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ecs/jskult-webapp/src/main.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ecs/jskult-webapp/src/main.py b/ecs/jskult-webapp/src/main.py
index 174f097a..9a19d97b 100644
--- a/ecs/jskult-webapp/src/main.py
+++ b/ecs/jskult-webapp/src/main.py
@@ -11,7 +11,7 @@ from src.core import task
from src.error.exception_handler import http_exception_handler
from src.error.exceptions import UnexpectedException
-app = FastAPI()
+app = FastAPI(openapi_url=None)
# 静的ファイルをマウント
app.mount('/static', StaticFiles(directory=path.dirname(static.__file__)), name='static')
From 88d8985058ea8898c3f1f9b06e79a7248640e044 Mon Sep 17 00:00:00 2001
From: "nik.n"
Date: Thu, 18 Jan 2024 15:40:48 +0900
Subject: [PATCH 07/21] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AA=E3=82=B3?=
=?UTF-8?q?=E3=83=A1=E3=83=B3=E3=83=88=E5=89=8A=E9=99=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ecs/jskult-webapp/src/templates/logout.html | 53 ---------------------
1 file changed, 53 deletions(-)
diff --git a/ecs/jskult-webapp/src/templates/logout.html b/ecs/jskult-webapp/src/templates/logout.html
index ed17c630..cc79a4ac 100644
--- a/ecs/jskult-webapp/src/templates/logout.html
+++ b/ecs/jskult-webapp/src/templates/logout.html
@@ -15,61 +15,8 @@
{{logout.reason}}
{% endautoescape %}
-
{{logout.link_text}}
-
-
-
-