UserServiceMachine request model is missing accessTokenType supported by User Service V2

Ouverte
#140 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
72/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Calme
Stack technique
python
Domaine
api

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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de zitadel/client-python

Toutes les issues de zitadel/client-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.