fix: Use settings.enable_offline_access for env var consolidation
Migrate all direct ENABLE_OFFLINE_ACCESS environment variable checks to use settings.enable_offline_access, which handles both the new ENABLE_BACKGROUND_OPERATIONS and deprecated ENABLE_OFFLINE_ACCESS vars. Also fixes JWT issuer validation in Docker by using NEXTCLOUD_PUBLIC_ISSUER_URL when set, resolving 401 errors caused by internal/external URL mismatch. Changes: - app.py: Use settings for offline access checks in setup_oauth_config, register_oauth_client, and tool registration - oauth_tools.py: Use settings in provision_nextcloud_access and check_logged_in - management.py: Use settings in get_user_session - scope_authorization.py: Use settings in require_scopes decorator - Remove unused os imports after migration 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.5
parent
10a0969138
commit
a51376fd5a
@@ -303,16 +303,17 @@ async def provision_nextcloud_access(
|
||||
),
|
||||
)
|
||||
|
||||
# Get configuration
|
||||
enable_offline_access = (
|
||||
os.getenv("ENABLE_OFFLINE_ACCESS", "false").lower() == "true"
|
||||
)
|
||||
if not enable_offline_access:
|
||||
# Get configuration using settings (handles both ENABLE_BACKGROUND_OPERATIONS
|
||||
# and ENABLE_OFFLINE_ACCESS environment variables)
|
||||
from nextcloud_mcp_server.config import get_settings
|
||||
|
||||
settings = get_settings()
|
||||
if not settings.enable_offline_access:
|
||||
return ProvisioningResult(
|
||||
success=False,
|
||||
message=(
|
||||
"Offline access is not enabled. "
|
||||
"Set ENABLE_OFFLINE_ACCESS=true to use this feature."
|
||||
"Set ENABLE_BACKGROUND_OPERATIONS=true to use this feature."
|
||||
),
|
||||
)
|
||||
|
||||
@@ -488,13 +489,14 @@ async def check_logged_in(ctx: Context, user_id: Optional[str] = None) -> str:
|
||||
logger.info("=" * 60)
|
||||
|
||||
# Not logged in - generate OAuth URL for Flow 2
|
||||
enable_offline_access = (
|
||||
os.getenv("ENABLE_OFFLINE_ACCESS", "false").lower() == "true"
|
||||
)
|
||||
if not enable_offline_access:
|
||||
# Use settings (handles both ENABLE_BACKGROUND_OPERATIONS and ENABLE_OFFLINE_ACCESS)
|
||||
from nextcloud_mcp_server.config import get_settings
|
||||
|
||||
settings = get_settings()
|
||||
if not settings.enable_offline_access:
|
||||
return (
|
||||
"Not logged in. Offline access is not enabled. "
|
||||
"Set ENABLE_OFFLINE_ACCESS=true to use this feature."
|
||||
"Set ENABLE_BACKGROUND_OPERATIONS=true to use this feature."
|
||||
)
|
||||
|
||||
# Get MCP server's OAuth client credentials
|
||||
|
||||
Reference in New Issue
Block a user