`google.api.Service` config seems to require an audience to avoid JWT validation errors
Les mainteneurs répondent en général sous 5 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 38/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- À l'abandon
- Stack technique
- python
- Domaine
- api, authentication
Piste de recherche
Commencez par endpoints/bookstore-grpc/api_config_auth.yaml et endpoints/bookstore-grpc-transcoding/api_config_auth.yaml, puis examinez jwt_token_gen.py et bookstore_client.py pour comprendre le flux d’authentification. Reproduisez la requête JWT décrite dans l’issue et vérifiez que les deux configurations de service acceptent l’authentification prévue du compte de service sans l’erreur de validation de l’audience.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
In which file did you encounter the issue?
Did you change the file? If so, how?
Yes, in the following section of the files:
#
# Request authentication.
#
authentication:
providers:
- id: google_service_account
# Replace SERVICE-ACCOUNT-ID with your service account's email address.
issuer: SERVICE-ACCOUNT-ID
jwks_uri: https://www.googleapis.com/robot/v1/metadata/x509/SERVICE-ACCOUNT-ID
rules:
# This auth rule will apply to all methods.
- selector: "*"
requirements:
- provider_id: google_service_account
I added an audience field to the config:
#
# Request authentication.
#
authentication:
providers:
- id: google_service_account
# Replace SERVICE-ACCOUNT-ID with your service account's email address.
issuer: SERVICE-ACCOUNT-ID
jwks_uri: https://www.googleapis.com/robot/v1/metadata/x509/SERVICE-ACCOUNT-ID
audiences: DEFAULT_HOSTNAME
rules:
# This auth rule will apply to all methods.
- selector: "*"
requirements:
- provider_id: google_service_account
Describe the issue
When using current api_config_auth.yaml for service-account JWT authentication I continued to get "{"message":"Audiences in Jwt are not allowed","code":403}". This error was present regardless of whether the JWT I passed had an audience. I used jwt_token_gen.py to generate the JWTs to pass when reaching out to the api python3 bookstore_client.py --auth_token JWT_TOKEN --host= DEFAULT_HOSTNAME --port 443 --use_tls true.
To generate a JWT without an audience field I commented out the 'aud' portion of the payload in jwt_token_gen.py . I tried without an audience and with the service name as an audience and each test provided the same error message. I inspected each JWT in jwt.io to ensure that each JWT claim was how I expected.
Overall, I suspect the google.api.Service spec has a different behavior for expected audiences than the OpenAPI spec (which doesn't required audience). Adding audience to the config resolved the issue and allowed me to hit the API with service-account JWT authentication enabled. Willing to create a PR to incorporate audiences: DEFAULT_HOSTNAME if approved 👍
- Langage dominant
- Jupyter Notebook
- Étoiles
- 8.1k
- Forks
- 6.7k
- Merge moyen
- 4 j 12 h
- PR mergées (30 j)
- 9
Préparer son environnement
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 GoogleCloudPlatform/python-docs-samples
-
samples
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
GoogleCloudPlatform/python-docs-samples#14609 ·
Les mainteneurs répondent en général sous 5 jours
-
samples
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
GoogleCloudPlatform/python-docs-samples#14610 ·
Les mainteneurs répondent en général sous 5 jours
-
samples
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
GoogleCloudPlatform/python-docs-samples#14611 ·
Les mainteneurs répondent en général sous 5 jours
-
chore(generative_ai) Update model references for generative_ai samplesPeut-être à nouveau libre @XrossFox l’a pris il y a 154 jours, et aucune pull request n’est ouverte. Ouvertesamples
GoogleCloudPlatform/python-docs-samples#14117 · 1 personne assignée ·
Les mainteneurs répondent en général sous 5 jours
-
Fix Pipeline dependency issues for geospatial-classification/serving_appPeut-être à nouveau libre @XrossFox l’a pris il y a 166 jours, et aucune pull request n’est ouverte. Ouvertesamples
GoogleCloudPlatform/python-docs-samples#14091 · 1 personne assignée ·
Les mainteneurs répondent en général sous 5 jours
Toutes les issues de GoogleCloudPlatform/python-docs-samples
Issues similaires
-
bug needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
DataDog/dd-trace-go#5469 ·
Les mainteneurs répondent en général sous 1 jour
-
Team: SCM
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: Reusing BFSDeepCrawlStrategy leaks the previous crawl's max_pages budget into a fresh runOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
unconfirmed bug
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Rapptz/discord.py#10529 ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: MRV2 prepare_inputs signature is incompatible with updated vLLM num_active_loras argumentOuvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
vllm-project/vllm-ascend#17710 ·
Les mainteneurs répondent en général sous 1 jour