11# SPDX-FileCopyrightText: 2023-2024 MTS PJSC
22# SPDX-License-Identifier: Apache-2.0
3- from pydantic import BaseModel , Field , SecretStr
3+ from pydantic import Field , SecretStr
4+ from pydantic_settings import BaseSettings
45
56
6- class KeycloakSettings (BaseModel ):
7+ class KeycloakSettings (BaseSettings ):
78
89 server_url : str = Field (..., description = "Keycloak server URL" )
910 client_id : str = Field (..., description = "Keycloak client ID" )
@@ -13,10 +14,20 @@ class KeycloakSettings(BaseModel):
1314 verify_ssl : bool = Field (True , description = "Verify SSL certificates" )
1415 scope : str = Field ("openid" , description = "Keycloak scope" )
1516
17+ class Config :
18+ env_prefix = "SYNCMASTER__"
19+ env_nested_delimiter = "__"
20+ extra = "allow"
1621
17- class KeycloakAuthProviderSettings (BaseModel ):
22+
23+ class KeycloakAuthProviderSettings (BaseSettings ):
1824 """Settings related to Keycloak interaction."""
1925
2026 keycloak : KeycloakSettings = Field (
2127 description = "Keycloak settings" ,
2228 )
29+
30+ class Config :
31+ env_prefix = "SYNCMASTER__"
32+ env_nested_delimiter = "__"
33+ extra = "allow"
0 commit comments