You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gcgj-dify-1.7.0/api/tests/unit_tests/libs
-LAN- 091884567a
feat: Add SMTP OAuth 2.0 support for Microsoft Exchange
Add comprehensive OAuth 2.0 authentication support for SMTP to address
Microsoft's Basic Authentication retirement in September 2025.

Key features:
- OAuth 2.0 SASL XOAUTH2 authentication mechanism
- Microsoft Azure AD integration with client credentials flow
- Backward compatible with existing basic authentication
- Comprehensive configuration options in .env.example files
- Enhanced SMTP client with dependency injection for better testability
- Complete test coverage with proper mocking

Configuration:
- SMTP_AUTH_TYPE: Choose between 'basic' and 'oauth2' authentication
- Microsoft OAuth 2.0 settings for Azure AD integration
- Automatic token acquisition using client credentials flow

Files changed:
- Enhanced SMTP client with OAuth 2.0 support
- New mail module structure under libs/mail/
- Updated configuration system with OAuth settings
- Comprehensive documentation and setup instructions
- Complete test suite for OAuth functionality

This change ensures compatibility with Microsoft Exchange Online
after Basic Authentication retirement.
7 months ago
..
mail feat: Add SMTP OAuth 2.0 support for Microsoft Exchange 7 months ago
test_datetime_utils.py feat: Persist Variables for Enhanced Debugging Workflow (#20699) 8 months ago
test_email.py chore: apply flake8-pytest-style linter rules (#8307) 1 year ago
test_flask_utils.py feat: add a flask_context_manager. (#21061) 8 months ago
test_helper.py feat(libs): Introduce `extract_tenant_id` (#22086) 7 months ago
test_login.py test: add comprehensive unit tests for login decorator (#22294) 7 months ago
test_oauth_clients.py test: add comprehensive OAuth authentication unit tests (#22528) 7 months ago
test_pandas.py chore(api/tests): apply ruff reformat #7590 (#7591) 1 year ago
test_passport.py test: add comprehensive unit tests for PassportService with exception handling optimization (#22268) 7 months ago
test_password.py test: add unit tests for password validation and hashing (#22003) 7 months ago
test_rsa.py chore(api/tests): apply ruff reformat #7590 (#7591) 1 year ago
test_uuid_utils.py feat(api): add UUIDv7 implementation in SQL and Python (#22058) 7 months ago
test_yarl.py fix: return absolute path as the icon url if CONSOLE_API_URL is empty (#15279) 11 months ago