Langflow is a powerful tool for building and deploying AI-powered agents and workflows. http://www.langflow.org
Find a file
Gabriel Luiz Freitas Almeida 3a3e205f6f
feat(auth): update AUTO_LOGIN authentication to enforce API key or JWT requirement (#8513)
* feat(auth): update AUTO_LOGIN authentication to enforce API key or JWT requirement

* Removed deprecated warning messages and implemented explicit HTTP exceptions for missing API key or JWT in both API and WebSocket authentication methods.
* Enhanced error handling to ensure compliance with the new authentication requirements introduced in v1.5.

* fix(auth): refine error message for AUTO_LOGIN API key requirement

* Updated the error message in the API key security function to clarify that AUTO_LOGIN requires a valid API key, removing the mention of JWT for consistency with the latest authentication requirements.

* feat(auth): introduce SKIP_AUTH_AUTO_LOGIN setting for enhanced authentication flexibility

* Added a new configuration option `SKIP_AUTH_AUTO_LOGIN` to the AuthSettings class, allowing the application to bypass API key validation for auto login.
* Updated the API and WebSocket security functions to utilize this setting, improving error handling and providing a fallback for superuser credentials when authentication is skipped.

* refactor(auth): rename SKIP_AUTH_AUTO_LOGIN to skip_auth_auto_login for consistency

* Updated the `SKIP_AUTH_AUTO_LOGIN` setting in the `AuthSettings` class to `skip_auth_auto_login` to follow Python naming conventions.
* Adjusted references in the API and WebSocket security functions to use the new attribute name, ensuring consistent behavior across the authentication logic.

* feat(auth): add deprecation warning for SKIP_AUTH_AUTO_LOGIN removal

* Introduced a warning log in both API and WebSocket security functions to inform users that the `LANGFLOW_SKIP_AUTH_AUTO_LOGIN` feature will be removed in version 1.6, prompting necessary updates to authentication methods.

* feat(auth): enhance deprecation warnings for AUTO_LOGIN features

* Added constants for deprecation warning and error messages related to `LANGFLOW_SKIP_AUTH_AUTO_LOGIN` and `AUTO_LOGIN` requirements, improving code maintainability and clarity.
* Updated API and WebSocket security functions to utilize these constants for logging and exception handling, ensuring consistent messaging across authentication methods.

* fix(auth): update AUTO_LOGIN_ERROR message to include LANGFLOW_SKIP_AUTH_AUTO_LOGIN usage

* fix(auth): correct logic for API key validation in WebSocket security function

* Adjusted the conditional flow in the `ws_api_key_security` function to ensure that the API key is checked only when necessary, improving the clarity and correctness of the authentication logic.

* [autofix.ci] apply automated fixes

* feat(tests): add authentication token retrieval for starter projects integration tests

* Implemented a helper function to obtain a JWT token for API requests, enhancing the security of the integration tests.
* Updated the test for starter projects to include the token in API requests, ensuring proper authentication during testing.

* feat(auth): add MCP-specific user authentication and active user dependency

* Introduced `get_current_user_mcp` function for MCP-specific user authentication, allowing fallback to username lookup when no API key is provided.
* Added `get_current_active_user_mcp` dependency to manage active user checks for MCP, ensuring proper integration with the authentication flow.

* refactor(api): replace user dependency with CurrentActiveMCPUser in mcp project endpoints

* Updated project-related API endpoints to use CurrentActiveMCPUser for user authentication, enhancing clarity and consistency in user management.
* Removed unused imports and dependencies related to the previous user authentication method, streamlining the codebase.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-06-24 13:29:27 +00:00
.cursor/rules docs: add comprehensive cursor guidelines and rules for development practices (#8401) 2025-06-12 12:51:18 +00:00
.devcontainer fix: replace instances of 127.0.0.1 to localhost (#8536) 2025-06-16 15:54:04 +00:00
.github test: update backend config, frontend utilities, and test coverage (#8671) 2025-06-23 18:57:46 +00:00
.vscode feat: conditionally render voice button based on voice mode state (#8561) 2025-06-17 15:23:12 +00:00
deploy feat: adds file management feature under feature flag, adds file dialog, adds files page (#6134) 2025-03-18 02:32:55 +00:00
docker refactor(docker): remove --extra deploy flag from uv sync commands (#8485) 2025-06-11 14:39:53 +00:00
docker_example fix: adjust LANGFLOW_CONFIG_DIR to prevent permission error (#6095) 2025-02-05 20:54:36 +00:00
docs docs: OpenAPI spec version upgraded from 1.4.2 to 1.4.3 (#8687) 2025-06-23 21:55:53 +00:00
scripts fix: aws docker file is now in different place (#6706) 2025-02-19 14:22:58 +00:00
src feat(auth): update AUTO_LOGIN authentication to enforce API key or JWT requirement (#8513) 2025-06-24 13:29:27 +00:00
test-results feat: Flow's canvas actions design uplift (#4260) 2024-10-31 00:51:33 +00:00
.coderabbit.yaml chore(config): add .coderabbit.yaml for centralized platform settings (#8510) 2025-06-12 15:34:45 +00:00
.composio.lock feat: Composio Component Upgrade (#6905) 2025-03-29 10:12:51 +00:00
.env.example fix: replace instances of 127.0.0.1 to localhost (#8536) 2025-06-16 15:54:04 +00:00
.eslintrc.json 🔧 (.pre-commit-config.yaml): Add eslint@9.1.1 as a dependency and enable autofix for pretty-format-json hook 2024-05-02 19:27:40 -03:00
.gitattributes feat: voice mode (#4642) 2025-03-20 00:05:55 +00:00
.gitignore feat: voice mode (#4642) 2025-03-20 00:05:55 +00:00
.pre-commit-config.yaml feat: return variable value if it is a generic variable (#5366) 2024-12-19 17:04:00 +00:00
CODE_OF_CONDUCT.md run codespell 2024-06-04 09:26:13 -03:00
CONTRIBUTING.md fix: fix typo in CONTRIBUTING.md (#5556) 2025-01-20 12:59:56 +00:00
DEVELOPMENT.md fix: replace instances of 127.0.0.1 to localhost (#8536) 2025-06-16 15:54:04 +00:00
eslint.config.js 🔧 (.pre-commit-config.yaml): Add eslint@9.1.1 as a dependency and enable autofix for pretty-format-json hook 2024-05-02 19:27:40 -03:00
LICENSE Update organization name and URLs in configuration files 2024-04-18 11:58:19 -03:00
Makefile refactor: simplify init target by removing cache cleanup and adding pre-commit hook (#8590) 2025-06-23 13:46:55 +00:00
pyproject.toml fix: adds logging to langflow run command (#8466) 2025-06-23 17:57:27 +00:00
README.md docs: update pip install instructions to use uv (#8519) 2025-06-23 14:56:56 +00:00
render.yaml docs: fix render deployment and docs (#3309) 2024-08-14 03:45:56 -07:00
SECURITY.md docs: create initial security policy (#8598) 2025-06-17 18:55:43 +00:00
uv.lock fix: adds logging to langflow run command (#8466) 2025-06-23 17:57:27 +00:00

Langflow logo

Release Notes PyPI - License PyPI - Downloads GitHub star chart Open Issues Twitter YouTube Channel Discord Server

Caution

Users must update to Langflow >= 1.3 to protect against CVE-2025-3248.

Langflow is a powerful tool for building and deploying AI-powered agents and workflows. It provides developers with both a visual authoring experience and a built-in API server that turns every agent into an API endpoint that can be integrated into applications built on any framework or stack. Langflow comes with batteries included and supports all major LLMs, vector databases and a growing library of AI tools.

Highlight features

  • Visual builder interface to quickly get started and iterate .
  • Source code access lets you customize any component using Python.
  • Interactive playground to immediately test and refine your flows with step-by-step control.
  • Multi-agent orchestration with conversation management and retrieval.
  • Deploy as an API or export as JSON for Python apps.
  • Observability with LangSmith, LangFuse and other integrations.
  • Enterprise-ready security and scalability.

Quickstart

Langflow requires Python 3.10 to 3.13 and uv.

  1. To install Langflow, run:
uv pip install langflow -U 
  1. To run Langflow, run:
uv run langflow run
  1. Go to the default Langflow URL at http://127.0.0.1:7860.

For more information about installing Langflow, including Docker and Desktop options, see Install Langflow.

📦 Deployment

Langflow is completely open source and you can deploy it to all major deployment clouds. To learn how to use Docker to deploy Langflow, see the Docker deployment guide.

Stay up-to-date

Star Langflow on GitHub to be instantly notified of new releases.

Star Langflow

👋 Contribute

We welcome contributions from developers of all levels. If you'd like to contribute, please check our contributing guidelines and help make Langflow more accessible.


Star History Chart

❤️ Contributors

langflow contributors