Skip to content

Commit 1fa6640

Browse files
authored
feat: support configuration of refresh token expiration by environment variable (#12335)
1 parent b680a85 commit 1fa6640

File tree

5 files changed

+13
-1
lines changed

5 files changed

+13
-1
lines changed

api/.env.example

+3
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ FILES_ACCESS_TIMEOUT=300
2323
# Access token expiration time in minutes
2424
ACCESS_TOKEN_EXPIRE_MINUTES=60
2525

26+
# Refresh token expiration time in days
27+
REFRESH_TOKEN_EXPIRE_DAYS=30
28+
2629
# celery configuration
2730
CELERY_BROKER_URL=redis://:difyai123456@localhost:6379/1
2831

api/configs/feature/__init__.py

+5
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,11 @@ class AuthConfig(BaseSettings):
488488
default=60,
489489
)
490490

491+
REFRESH_TOKEN_EXPIRE_DAYS: PositiveFloat = Field(
492+
description="Expiration time for refresh tokens in days",
493+
default=30,
494+
)
495+
491496
LOGIN_LOCKOUT_DURATION: PositiveInt = Field(
492497
description="Time (in seconds) a user must wait before retrying login after exceeding the rate limit.",
493498
default=86400,

api/services/account_service.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ class TokenPair(BaseModel):
6565

6666
REFRESH_TOKEN_PREFIX = "refresh_token:"
6767
ACCOUNT_REFRESH_TOKEN_PREFIX = "account_refresh_token:"
68-
REFRESH_TOKEN_EXPIRY = timedelta(days=30)
68+
REFRESH_TOKEN_EXPIRY = timedelta(days=dify_config.REFRESH_TOKEN_EXPIRE_DAYS)
6969

7070

7171
class AccountService:

docker/.env.example

+3
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,9 @@ FILES_ACCESS_TIMEOUT=300
105105
# Access token expiration time in minutes
106106
ACCESS_TOKEN_EXPIRE_MINUTES=60
107107

108+
# Refresh token expiration time in days
109+
REFRESH_TOKEN_EXPIRE_DAYS=30
110+
108111
# The maximum number of active requests for the application, where 0 means unlimited, should be a non-negative integer.
109112
APP_MAX_ACTIVE_REQUESTS=0
110113
APP_MAX_EXECUTION_TIME=1200

docker/docker-compose.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ x-shared-env: &shared-api-worker-env
2727
MIGRATION_ENABLED: ${MIGRATION_ENABLED:-true}
2828
FILES_ACCESS_TIMEOUT: ${FILES_ACCESS_TIMEOUT:-300}
2929
ACCESS_TOKEN_EXPIRE_MINUTES: ${ACCESS_TOKEN_EXPIRE_MINUTES:-60}
30+
REFRESH_TOKEN_EXPIRE_DAYS: ${REFRESH_TOKEN_EXPIRE_DAYS:-30}
3031
APP_MAX_ACTIVE_REQUESTS: ${APP_MAX_ACTIVE_REQUESTS:-0}
3132
APP_MAX_EXECUTION_TIME: ${APP_MAX_EXECUTION_TIME:-1200}
3233
DIFY_BIND_ADDRESS: ${DIFY_BIND_ADDRESS:-0.0.0.0}

0 commit comments

Comments
 (0)