`google.api.Service` config seems to require an audience to avoid JWT validation errors
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 38/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- api, authentication
Hướng nghiên cứu
Bắt đầu với endpoints/bookstore-grpc/api_config_auth.yaml và endpoints/bookstore-grpc-transcoding/api_config_auth.yaml, sau đó xem xét jwt_token_gen.py và bookstore_client.py để kiểm tra luồng xác thực. Tái tạo yêu cầu JWT được mô tả trong issue và xác minh rằng cả hai cấu hình dịch vụ đều chấp nhận xác thực tài khoản dịch vụ dự kiến mà không gặp lỗi xác thực audience.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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 👍
- Ngôn ngữ chính
- Jupyter Notebook
- Star
- 8.1k
- Fork
- 6.7k
- Merge trung bình
- 4 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 8
Chuẩn bị môi trường
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của GoogleCloudPlatform/python-docs-samples
-
samples
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
GoogleCloudPlatform/python-docs-samples#14609 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
samples
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
GoogleCloudPlatform/python-docs-samples#14610 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
samples
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
GoogleCloudPlatform/python-docs-samples#14611 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
chore(generative_ai) Update model references for generative_ai samplesCó thể làm lại được @XrossFox đã nhận 152 ngày trước và không có pull request nào đang mở. Đang mởsamples
GoogleCloudPlatform/python-docs-samples#14117 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Fix Pipeline dependency issues for geospatial-classification/serving_appCó thể làm lại được @XrossFox đã nhận 164 ngày trước và không có pull request nào đang mở. Đang mởsamples
GoogleCloudPlatform/python-docs-samples#14091 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của GoogleCloudPlatform/python-docs-samples
Issue tương tự
-
pydanty:is-working
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
pydantic/pydantic-ai#8843 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
breaking change enhancement server
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
openhab/openhab-core#5847 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug P2 reliability
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
afreidah/s3-orchestrator#1564 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
SSH workspace restore rewrites relative symlinks into the deleted sync-back staging directoryĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
paperclipai/paperclip#14173 ·
Maintainer thường phản hồi trong vòng 1 ngày