Skip to content

Conversation

@amtk3
Copy link
Contributor

@amtk3 amtk3 commented Jan 15, 2026

Update the IAM endpoint so that it supports the certificate based Access control

@amtk3 amtk3 requested review from a team as code owners January 15, 2026 04:14
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @amtk3, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the IAM authentication mechanism by integrating support for mTLS (mutual TLS) endpoints. The primary goal is to enable certificate-based access control for IAM credential operations, which is crucial for environments requiring heightened security and compliance. The changes involve dynamically determining whether to use the mTLS-specific IAM domain based on client certificate availability, thereby ensuring that the correct secure endpoint is utilized for authentication requests.

Highlights

  • mTLS Support: Introduced logic to dynamically select between the standard IAM credentials domain (iamcredentials.googleapis.com) and the mTLS-specific domain (iamcredentials.mtls.googleapis.com) based on the availability of client certificates.
  • Dependency Addition: Added an import for _mtls_helper from google.auth.transport to facilitate the detection of mTLS client certificate usage.
  • Endpoint Refactoring: Refactored the definition of various IAM endpoints (_IAM_ENDPOINT, _IAM_SIGN_ENDPOINT, _IAM_SIGNJWT_ENDPOINT, _IAM_IDTOKEN_ENDPOINT) to use a common base URL, which is constructed dynamically with the chosen domain.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the IAM endpoints to support mTLS by dynamically selecting the domain based on certificate availability. The changes are well-structured, centralizing the endpoint construction and improving code clarity by removing repetition. I have one minor suggestion regarding code style to align with PEP 8 guidelines.

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@amtk3 amtk3 changed the title Support the mTLS IAM domain for Certificate based Access feat(iam): Support the mTLS IAM domain for Certificate based Access Jan 15, 2026
@product-auto-label product-auto-label bot added the api: iam Issues related to the Identity and Access Management API. label Jan 15, 2026
@chalmerlowe chalmerlowe added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jan 15, 2026
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jan 15, 2026
@chalmerlowe chalmerlowe self-assigned this Jan 15, 2026
@chalmerlowe chalmerlowe added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jan 15, 2026
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jan 15, 2026
from google.auth import credentials
from google.auth import crypt
from google.auth import exceptions
from google.auth.transport import _mtls_helper
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@chalmerlowe chalmerlowe added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jan 16, 2026
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jan 16, 2026
@chalmerlowe chalmerlowe added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jan 16, 2026
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jan 16, 2026
Copy link
Contributor

@chalmerlowe chalmerlowe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@chalmerlowe chalmerlowe added kokoro:force-run Add this label to force Kokoro to re-run the tests. automerge Merge the pull request once unit tests and other checks pass. labels Jan 16, 2026
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jan 16, 2026
@chalmerlowe chalmerlowe added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jan 16, 2026
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jan 16, 2026
@gcf-merge-on-green gcf-merge-on-green bot merged commit 8dcf91a into googleapis:main Jan 16, 2026
20 of 21 checks passed
@gcf-merge-on-green gcf-merge-on-green bot removed the automerge Merge the pull request once unit tests and other checks pass. label Jan 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: iam Issues related to the Identity and Access Management API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants