All checks were successful
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 3m23s
- Introduced a dual-token system for user authentication: a short-lived access token and a long-lived rotating refresh token. - Created a new RefreshToken model to manage refresh tokens securely. - Updated auth_api.py to handle login, refresh, and logout processes with the new token system. - Enhanced security measures including token rotation and theft detection. - Updated frontend to handle token refresh on 401 errors and adjusted SSE authentication. - Removed CORS middleware as it's unnecessary behind the nginx proxy. - Added tests to ensure functionality and security of the new token system.
90 lines
2.1 KiB
JSON
90 lines
2.1 KiB
JSON
{
|
|
"version": "0.2.0",
|
|
"configurations": [
|
|
{
|
|
"name": "Python: Flask",
|
|
"type": "python",
|
|
"request": "launch",
|
|
"module": "flask",
|
|
"python": "${command:python.interpreterPath}",
|
|
"env": {
|
|
"FLASK_APP": "backend/main.py",
|
|
"FLASK_DEBUG": "1",
|
|
"SECRET_KEY": "dev-secret-key-change-in-production",
|
|
"REFRESH_TOKEN_EXPIRY_DAYS": "90"
|
|
},
|
|
"args": [
|
|
"run",
|
|
"--host=0.0.0.0",
|
|
"--port=5000",
|
|
"--no-debugger",
|
|
"--no-reload"
|
|
],
|
|
"cwd": "${workspaceFolder}/backend",
|
|
"console": "integratedTerminal"
|
|
},
|
|
{
|
|
"name": "Vue: Dev Server",
|
|
"type": "node",
|
|
"request": "launch",
|
|
"runtimeExecutable": "npm",
|
|
"runtimeArgs": [
|
|
"run",
|
|
"dev"
|
|
],
|
|
"cwd": "${workspaceFolder}/frontend/vue-app",
|
|
"console": "integratedTerminal"
|
|
},
|
|
{
|
|
"name": "Chrome: Launch (Vue App)",
|
|
"type": "pwa-chrome",
|
|
"request": "launch",
|
|
"url": "http://localhost:5173",
|
|
"webRoot": "${workspaceFolder}/frontend/vue-app"
|
|
},
|
|
{
|
|
"name": "Python: Backend Tests",
|
|
"type": "python",
|
|
"request": "launch",
|
|
"module": "pytest",
|
|
"args": [
|
|
"tests/"
|
|
],
|
|
"cwd": "${workspaceFolder}/backend",
|
|
"console": "integratedTerminal",
|
|
"env": {
|
|
"PYTHONPATH": "${workspaceFolder}/backend"
|
|
}
|
|
},
|
|
{
|
|
"name": "Vue: Frontend Tests",
|
|
"type": "node",
|
|
"request": "launch",
|
|
"runtimeExecutable": "npm",
|
|
"windows": {
|
|
"runtimeExecutable": "npm.cmd"
|
|
},
|
|
"runtimeArgs": [
|
|
"run",
|
|
"test:unit"
|
|
],
|
|
"cwd": "${workspaceFolder}/frontend/vue-app",
|
|
"console": "integratedTerminal",
|
|
"osx": {
|
|
"env": {
|
|
"PATH": "/opt/homebrew/bin:${env:PATH}"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"compounds": [
|
|
{
|
|
"name": "Full Stack (Backend + Frontend)",
|
|
"configurations": [
|
|
"Python: Flask",
|
|
"Vue: Dev Server",
|
|
"Chrome: Launch (Vue App)"
|
|
]
|
|
}
|
|
]
|
|
} |