Skip to content

Commit 81db2fb

Browse files
author
André Böhlke
committed
fix: resolve mypy type errors in OIDC provision endpoint
1 parent b05ff1f commit 81db2fb

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

openslides_backend/http/views/action_view.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -118,31 +118,31 @@ def oidc_provision_route(self, request: Request) -> RouteResponse:
118118
"Authentication", ""
119119
)
120120
if not auth_header.lower().startswith("bearer "):
121-
raise Unauthorized("Missing Bearer token")
121+
raise Unauthorized()
122122

123123
token = auth_header[7:]
124124

125125
# 2. Validate token via OIDC validator
126126
validator = get_oidc_validator()
127127
if not validator:
128-
raise Unauthorized("OIDC not configured")
128+
raise Unauthorized()
129129

130130
payload = validator.validate_token(token)
131131
keycloak_id = payload.get("sub")
132132
if not keycloak_id:
133-
raise Unauthorized("Missing 'sub' claim")
133+
raise Unauthorized()
134134

135135
# 3. Check if session was invalidated
136136
session_id = payload.get("sid")
137137
if session_id and is_session_invalidated(session_id):
138-
raise Unauthorized("Session invalidated")
138+
raise Unauthorized()
139139

140140
# 4. Get user info from Keycloak userinfo endpoint
141141
user_info = validator.get_user_info(token)
142142

143143
# 5. Provision/update user via user.save_keycloak_account action
144144
handler = ActionHandler(self.env, self.services, self.logging)
145-
action_data = {
145+
action_data: dict[str, Any] = {
146146
"keycloak_id": keycloak_id,
147147
"email": user_info.get("email"),
148148
"given_name": user_info.get("given_name"),
@@ -158,12 +158,15 @@ def oidc_provision_route(self, request: Request) -> RouteResponse:
158158
internal=True,
159159
)
160160

161-
if not result.get("success") or not result.get("results"):
162-
raise Unauthorized("User provisioning failed")
161+
result_data: dict[str, Any] = dict(result)
162+
if not result_data.get("success") or not result_data.get("results"):
163+
raise Unauthorized()
163164

164-
user_id = result["results"][0][0].get("user_id")
165+
results_list = result_data["results"]
166+
first_result = results_list[0]
167+
user_id = first_result[0].get("user_id") if first_result else None
165168
if not user_id:
166-
raise Unauthorized("User creation failed")
169+
raise Unauthorized()
167170

168171
self.logger.debug(f"Provisioned OIDC user: {user_id}")
169172

0 commit comments

Comments
 (0)