[OAuth2] Allow custom client_id and client_secret

This commit is contained in:
magicfelix
2026-02-24 18:14:19 +01:00
parent 610a8bc837
commit 74ad76b36d
4 changed files with 36 additions and 1 deletions

View File

@@ -34,6 +34,8 @@ class Auth(auth.BaseAuth):
def __init__(self, configuration):
super().__init__(configuration)
self._endpoint = configuration.get("auth", "oauth2_token_endpoint")
self._client_id = configuration.get("auth", "oauth2_client_id")
self._client_secret = configuration.get("auth", "oauth2_client_secret")
if not self._endpoint:
logger.error("auth.oauth2_token_endpoint URL missing")
raise RuntimeError("OAuth2 token endpoint URL is required")
@@ -49,8 +51,11 @@ class Auth(auth.BaseAuth):
"username": login,
"password": password,
"grant_type": "password",
"client_id": "radicale",
"client_id": self._client_id,
}
if self._client_secret:
req_params["client_secret"] = self._client_secret
req_headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(
self._endpoint, data=req_params, headers=req_headers

View File

@@ -354,6 +354,14 @@ DEFAULT_CONFIG_SCHEMA: types.CONFIG_SCHEMA = OrderedDict([
"value": "",
"help": "OAuth2 token endpoint URL",
"type": str}),
("oauth2_client_id", {
"value": "radicale",
"help": "OAuth2 client id",
"type": str}),
("oauth2_client_secret", {
"value": "",
"help": "OAuth2 client secret",
"type": str}),
("pam_group_membership", {
"value": "",
"help": "PAM group user should be member of",