token_grant: support client_id so client_credentials works with Microsoft Entra federated credentials
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 70/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- azure, rust
- Domaine
- authentication
Piste de recherche
Commence par TokenGrantParams dans crates/openshell-core/src/oauth.rs, qui construit le corps du formulaire à partir de client_assertion, client_assertion_type, audience et scope. Ajoute un champ optionnel client_id et ne l'inclus comme champ de formulaire que lorsqu'il est défini, afin que les requêtes existantes restent inchangées. La tâche est terminée lorsqu'une configuration token_grant avec client_id l'envoie dans le corps, et qu'une configuration sans lui envoie le même corps qu'auparavant ; recherche les tests existants des requêtes de jeton pour les étendre.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
We're trying to use token_grant with client_credentials against Microsoft Entra ID, with the sandbox's SPIFFE JWT-SVID as the client assertion. Entra supports this through federated identity credentials (https://learn.microsoft.com/en-us/entra/workload-id/workload-identity-federation-spiffe-spire), but it needs client_id in the request body to pick the app registration.
TokenGrantParams in crates/openshell-core/src/oauth.rs only sends client_assertion, client_assertion_type, audience and scope, so there's no way to set it. We tried two workarounds against Entra:
client_idin the token endpoint's query string is ignored.- Without
client_idin the body, Entra uses the assertion'sissas the app identifier and fails with AADSTS700016.
Could token_grant take an optional client_id that's sent as a form field? Something like:
credentials:
- name: graph_access_token
auth_style: bearer
header_name: Authorization
token_grant:
token_endpoint: https://login.microsoftonline.com/<tenant>/oauth2/v2.0/token
client_id: <app id>
jwt_svid_audience: api://AzureADTokenExchange
scopes: [https://graph.microsoft.com/.default]
Without it we need a small broker in front of Entra just to add one field. Happy to send a PR if this sounds reasonable.
- Langage dominant
- Rust
- Étoiles
- 15.4k
- Forks
- 1.7k
- Merge moyen
- 1 j 21 h
- PR mergées (30 j)
- 366
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
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 NVIDIA/OpenShell
-
docs: document workspace and provider label capabilitiesPeut-être pris @johntmyers l’a pris il y a 3 jours. Ouvertearea:docs
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
NVIDIA/OpenShell#4250 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
bug(driver-mxc): test helper fails to compile after gateway-name argumentPeut-être pris @feloy l’a pris il y a 5 jours. Ouvertestate:triage-needed
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
bug: install.sh ignores XDG_CONFIG_HOME for the local gateway configPeut-être pris @fede-kamel l’a pris il y a 9 jours. Ouvertearea:cli os:linux os:macos state:validated
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
NVIDIA/OpenShell#4042 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
state:triage-needed
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
NVIDIA/OpenShell#3995 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
OCSF shorthand renders Unknown and Other severities as [INFO]Peut-être pris @ericcurtin l’a pris il y a 9 jours. Ouvertestate:triage-needed
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de NVIDIA/OpenShell
Issues similaires
-
bug user-priority/P2
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
t8y2/dbx#11718 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
rescript-lang/rescript#8765 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
nautechsystems/nautilus_trader#5287 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
farion1231/cc-switch#8072 ·
Les mainteneurs répondent en général sous 1 jour
-
Python 3.15 supportPeut-être pris @amnesiaof l’a pris aujourd’hui. OuverteL: python L: python:uv
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
dependabot/dependabot-core#16524 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour