github: Use noreply email if public email is private. #2618
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This change adds an option to Dex to return these emails instead of fetching
their primary email. Since this only appears to work for public and
Enterprise Cloud flavors of GitHub (notably this doesn't appear to be
supported on Enterprise Server), this is restricted to the github.com
domain for now.
What this PR does / why we need it
GitHub has a feature for commit emails that allows users to set a noreply email that uniquely identifies them in commit messages:
See https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address#about-commit-email-addresses
This is typically used on GitHub to associated user accounts with
commits without exposing the users real email.
Dex can use this in a similar manner to ID users in a stable way without
needing to fetch emails marked as private on GitHub.
Fixes #2617
Part of sigstore/gitsign#65
Special notes for your reviewer
Does this PR introduce a user-facing change?