Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Oct 31, 2024. It is now read-only.

Commit 78070b4

Browse files
fix: minor changes
1 parent a9acf02 commit 78070b4

File tree

7 files changed

+29
-20
lines changed

7 files changed

+29
-20
lines changed

‎app/docker/Dockerfile‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,4 @@ EXPOSE 8000
3737

3838
USER www
3939

40-
CMD ["uvicorn", "src.main:app", "--host", "0.0.0.0", "--port", "8000"]
40+
CMD ["uvicorn", "src.main:app", "--host", "0.0.0.0", "--port", "8000", "--proxy-headers"]

‎app/src/api/api_v1/api.py‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
from fastapi import APIRouter
22

3-
from src.api.api_v1.endpoints import auth
3+
from src.api.api_v1.endpoints import root, auth
44

55
api_router = APIRouter()
6+
api_router.include_router(root.router, tags=["status"])
67
api_router.include_router(auth.router, tags=["auth"])
8+

‎app/src/api/api_v1/endpoints/root.py‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from fastapi import APIRouter
2+
3+
from src.core.config import settings
4+
5+
router = APIRouter()
6+
7+
8+
@router.get("/")
9+
def health_check():
10+
"""Health check endpoint"""
11+
return {
12+
"status": "ok",
13+
"title": settings.PROJECT_NAME,
14+
"version": settings.PROJECT_VERSION,
15+
"openapi_url": f"{settings.API_V1_STR}/openapi.json"
16+
}

‎app/src/core/config.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class DevelopmentSettings(BaseSettings):
1717
PROJECT_VERSION: str
1818

1919
# JWT
20+
JWT_SECRET_KEY: str = secrets.token_urlsafe(32)
2021
ACCESS_TOKEN_EXPIRE: int = 60 * 15
2122
REFRESH_TOKEN_EXPIRE: int = 60 * 60 * 24 * 30
2223

‎app/src/core/security.py‎

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@
55
from src.core.config import settings
66
from src.utils.jwt import generate_jwt_token
77

8-
9-
secret_key = settings.SECRET_KEY
108
access_lifetime = settings.ACCESS_TOKEN_EXPIRE
9+
refresh_lifetime = settings.REFRESH_TOKEN_EXPIRE
1110

1211

1312
def create_access_token(
@@ -18,7 +17,6 @@ def create_access_token(
1817
return generate_jwt_token(
1918
identity=identity,
2019
token_type="access",
21-
secret=secret_key,
2220
lifetime=access_lifetime,
2321
claims=claims,
2422
headers=headers
@@ -33,8 +31,7 @@ def create_refresh_token(
3331
return generate_jwt_token(
3432
identity=identity,
3533
token_type="refresh",
36-
secret=secret_key,
37-
lifetime=access_lifetime,
34+
lifetime=refresh_lifetime,
3835
claims=claims,
3936
headers=headers
4037
)

‎app/src/main.py‎

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,4 @@
1111
)
1212

1313

14-
@app.get("/", tags=["status"])
15-
def health_check():
16-
"""Health check endpoint"""
17-
return {
18-
"status": "ok",
19-
"title": settings.PROJECT_NAME,
20-
"version": settings.PROJECT_VERSION,
21-
"openapi_url": f"{settings.API_V1_STR}/openapi.json"
22-
}
23-
24-
2514
app.include_router(api_router, prefix=settings.API_V1_STR)

‎app/src/utils/jwt.py‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,13 @@
55
import jwt
66
from pydantic import SecretStr
77

8+
from src.core.config import settings
9+
810
SecretType = Union[str, SecretStr]
911
JWT_ALGORITHM = "HS256"
1012

13+
jwt_secret_key = settings.JWT_SECRET_KEY
14+
1115

1216
def _get_secret(secret: SecretType) -> SecretType:
1317
"""Get the secret key."""
@@ -19,8 +23,8 @@ def _get_secret(secret: SecretType) -> SecretType:
1923
def generate_jwt_token(
2024
identity: str,
2125
token_type: str,
22-
secret: SecretType,
2326
lifetime: int,
27+
secret: SecretType = jwt_secret_key,
2428
algorithm: str = JWT_ALGORITHM,
2529
claims: Dict[str, Any] = None,
2630
headers: Dict[str, Any] = None,
@@ -71,7 +75,7 @@ def generate_jwt_token(
7175

7276
def decode_jwt_token(
7377
jwt_token: str,
74-
secret: SecretType,
78+
secret: SecretType=jwt_secret_key,
7579
algorithm: str = JWT_ALGORITHM
7680
) -> Dict[str, Any]:
7781
"""

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /