UserServiceMachine request model is missing accessTokenType supported by User Service V2
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 72/100
Piste de recherche
Locate the generated UserServiceMachine request model and the UserServiceCreateUserRequest and UserServiceUpdateUserRequest models, then inspect how the existing UserServiceAccessTokenType fields are represented. Regenerate the Python SDK against the current schema and add serialization coverage showing that accessTokenType is preserved in both create and update machine-user requests.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Description
The generated UserServiceMachine request model does not expose accessTokenType, although current ZITADEL User Service V2 supports setting it when creating or updating a machine user.
This prevents Python SDK users from requesting JWT access tokens. ZITADEL otherwise defaults new machine users to opaque bearer tokens.
The SDK already contains:
- UserServiceAccessTokenType
- ACCESS_TOKEN_TYPE_BEARER
- ACCESS_TOKEN_TYPE_JWT
- access_token_type on the UserServiceMachineUser response model
However, the corresponding request model only contains name and description.
Environment
- zitadel_client==4.1.8
- Python 3.14.6
- This appears to be a generated-schema issue and is not Python-version-specific.
Reproduction
from zitadel_client.models import (
UserServiceAccessTokenType,
UserServiceMachine,
)
machine = UserServiceMachine(
name="example-client",
accessTokenType=UserServiceAccessTokenType.ACCESS_TOKEN_TYPE_JWT,
)
print(machine.model_dump(by_alias=True, exclude_none=True))
Actual output:
{"name": "example-client"}
The unrecognised accessTokenType input is silently discarded.
Consequently, using this model through UserServiceCreateUserRequest cannot send:
{
"machine": {
"name": "example-client",
"accessTokenType": "ACCESS_TOKEN_TYPE_JWT"
}
}
The same UserServiceMachine model is used by UserServiceUpdateUserRequest, so updating the access-token type is also unavailable.
Expected behaviour
UserServiceMachine should expose a field equivalent to:
access_token_type: UserServiceAccessTokenType | None = Field(
default=None,
alias="accessTokenType",
)
Serializing a create or update request should preserve the selected access-token type.
Upstream context
The missing API capability was reported in:
It was added to the core User Service V2 protobuf in:
The current protobuf contains access_token_type on the nested machine messages for both CreateUserRequest and UpdateUserRequest, but the Python SDK request model still reflects the older schema.
Suggested resolution
Please regenerate the Python SDK against a current ZITADEL core schema and add a serialization test confirming that accessTokenType is included in create and update machine-user requests.
- Langage dominant
- Python
- Étoiles
- 16
- Forks
- 3
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de zitadel/client-python
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
zitadel/client-python#125 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 52/100
zitadel/client-python#99 ·
-
Release SDK for V5 Ouverte
zitadel/client-python#80 · 1 personne assignée ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
zitadel/client-python#78 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
zitadel/client-python#66 · 1 commentaire · 4 réactions ·
Toutes les issues de zitadel/client-python
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100