### Description This pull request introduces a significant enhancement to the project by incorporating robust authentication logic. The enhancement addresses the critical need for secure user access and data protection within the application. With this addition, the system will be able to authenticate users, verify their identities, and provide access only to authorized individuals. ### Changes Implemented - **Authentication Middleware**: A new middleware module has been implemented to intercept incoming requests and validate user authentication. This middleware checks for valid authentication tokens or credentials and ensures that only authenticated users can access protected resources. - **User Authentication Endpoint**: A new endpoint has been created to handle user authentication. This endpoint allows users to provide their credentials, which are then securely processed and validated against the stored user data. - **Password Hashing**: User passwords are now securely hashed using a strong cryptographic algorithm before being stored in the database. This ensures that even if the database is compromised, user passwords remain inaccessible. - **Token-Based Authentication**: Upon successful authentication, the system generates a time-limited access token for the user. This token must be included in subsequent requests to access protected resources. Token validity is maintained through token expiration and refresh mechanisms. - **Authorization Checks**: The logic has been extended to include authorization checks after successful authentication. This ensures that authenticated users only have access to the resources they are authorized to use, based on their roles and permissions. ### Benefits 1. **Enhanced Security**: By implementing strong authentication mechanisms and password hashing, the project significantly improves security, minimizing the risk of unauthorized access or data breaches. 2. **User-Friendly Experience**: Users can securely access the application, confident in the knowledge that their credentials and data are protected. The token-based authentication simplifies the user experience by eliminating the need for frequent re-authentication. 3. **Scalability**: The authentication logic has been designed with scalability in mind, ensuring that the system can handle a growing number of users and requests without compromising security or performance. 4. **Modularity**: The new authentication logic has been integrated as a separate module, enhancing the project's modularity and maintainability.
121 lines
3.5 KiB
JSON
121 lines
3.5 KiB
JSON
{
|
|
"name": "langflow",
|
|
"version": "0.1.2",
|
|
"private": true,
|
|
"dependencies": {
|
|
"@emotion/react": "^11.10.5",
|
|
"@emotion/styled": "^11.10.5",
|
|
"@headlessui/react": "^1.7.10",
|
|
"@heroicons/react": "^2.0.15",
|
|
"@mui/material": "^5.11.9",
|
|
"@radix-ui/react-accordion": "^1.1.2",
|
|
"@radix-ui/react-checkbox": "^1.0.4",
|
|
"@radix-ui/react-dialog": "^1.0.4",
|
|
"@radix-ui/react-dropdown-menu": "^2.0.5",
|
|
"@radix-ui/react-form": "^0.0.3",
|
|
"@radix-ui/react-icons": "^1.3.0",
|
|
"@radix-ui/react-label": "^2.0.2",
|
|
"@radix-ui/react-menubar": "^1.0.3",
|
|
"@radix-ui/react-popover": "^1.0.6",
|
|
"@radix-ui/react-progress": "^1.0.3",
|
|
"@radix-ui/react-select": "^1.2.2",
|
|
"@radix-ui/react-separator": "^1.0.3",
|
|
"@radix-ui/react-slot": "^1.0.2",
|
|
"@radix-ui/react-switch": "^1.0.3",
|
|
"@radix-ui/react-tabs": "^1.0.4",
|
|
"@radix-ui/react-tooltip": "^1.0.6",
|
|
"@tabler/icons-react": "^2.18.0",
|
|
"@tailwindcss/forms": "^0.5.3",
|
|
"@tailwindcss/line-clamp": "^0.4.4",
|
|
"@types/axios": "^0.14.0",
|
|
"accordion": "^3.0.2",
|
|
"ace-builds": "^1.16.0",
|
|
"add": "^2.0.6",
|
|
"ansi-to-html": "^0.7.2",
|
|
"axios": "^1.3.2",
|
|
"base64-js": "^1.5.1",
|
|
"class-variance-authority": "^0.6.0",
|
|
"clsx": "^1.2.1",
|
|
"dompurify": "^3.0.4",
|
|
"esbuild": "^0.17.18",
|
|
"lodash": "^4.17.21",
|
|
"lucide-react": "^0.233.0",
|
|
"moment": "^2.29.4",
|
|
"react": "^18.2.0",
|
|
"react-ace": "^10.1.0",
|
|
"react-cookie": "^4.1.1",
|
|
"react-dom": "^18.2.0",
|
|
"react-error-boundary": "^4.0.2",
|
|
"react-icons": "^4.8.0",
|
|
"react-laag": "^2.0.5",
|
|
"react-markdown": "^8.0.7",
|
|
"react-router-dom": "^6.8.1",
|
|
"react-syntax-highlighter": "^15.5.0",
|
|
"react-tabs": "^6.0.0",
|
|
"react-tooltip": "^5.13.1",
|
|
"reactflow": "^11.8.3",
|
|
"rehype-mathjax": "^4.0.2",
|
|
"remark-gfm": "^3.0.1",
|
|
"remark-math": "^5.1.1",
|
|
"shadcn-ui": "^0.2.2",
|
|
"short-unique-id": "^4.4.4",
|
|
"switch": "^0.0.0",
|
|
"table": "^6.8.1",
|
|
"tailwind-merge": "^1.13.0",
|
|
"tailwindcss-animate": "^1.0.5",
|
|
"uuid": "^9.0.0",
|
|
"vite-plugin-svgr": "^3.2.0",
|
|
"web-vitals": "^2.1.4"
|
|
},
|
|
"scripts": {
|
|
"dev:docker": "vite --host 0.0.0.0",
|
|
"start": "vite",
|
|
"build": "vite build",
|
|
"serve": "vite preview",
|
|
"format": "npx prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\"",
|
|
"type-check": "tsc --noEmit --pretty --project tsconfig.json && vite"
|
|
},
|
|
"eslintConfig": {
|
|
"extends": [
|
|
"react-app",
|
|
"react-app/jest"
|
|
]
|
|
},
|
|
"browserslist": {
|
|
"production": [
|
|
">0.2%",
|
|
"not dead",
|
|
"not op_mini all"
|
|
],
|
|
"development": [
|
|
"last 1 chrome version",
|
|
"last 1 firefox version",
|
|
"last 1 safari version"
|
|
]
|
|
},
|
|
"proxy": "http://127.0.0.1:7860",
|
|
"devDependencies": {
|
|
"@swc/cli": "^0.1.62",
|
|
"@swc/core": "^1.3.62",
|
|
"@tailwindcss/typography": "^0.5.9",
|
|
"@testing-library/jest-dom": "^5.16.5",
|
|
"@testing-library/react": "^13.4.0",
|
|
"@testing-library/user-event": "^13.5.0",
|
|
"@types/jest": "^27.5.2",
|
|
"@types/lodash": "^4.14.194",
|
|
"@types/node": "^16.18.12",
|
|
"@types/react": "^18.0.28",
|
|
"@types/react-dom": "^18.0.11",
|
|
"@types/uuid": "^9.0.1",
|
|
"@vitejs/plugin-react-swc": "^3.0.0",
|
|
"autoprefixer": "^10.4.14",
|
|
"daisyui": "^3.1.1",
|
|
"postcss": "^8.4.23",
|
|
"prettier": "^2.8.8",
|
|
"prettier-plugin-organize-imports": "^3.2.2",
|
|
"prettier-plugin-tailwindcss": "^0.3.0",
|
|
"tailwindcss": "^3.3.2",
|
|
"typescript": "^5.0.2",
|
|
"vite": "^4.3.9"
|
|
}
|
|
}
|