Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: adds Pluggable Auth support #1437

Merged
merged 9 commits into from
Aug 11, 2022
Merged

feat: adds Pluggable Auth support #1437

merged 9 commits into from
Aug 11, 2022

Conversation

aeitzman
Copy link
Contributor

@aeitzman aeitzman commented Aug 4, 2022

See go/pluggable-auth-design.

Summary:

Adds a new PluggableAuthClient class that enables the ability for developers to use their own executable to retrieve subject tokens for Workload Identity Federation (instead of a file/URL).
ADC is extended to support this new client.
Adds documentation in Readme
Adds integration test

Fixes: #1433

* feat: Adding Pluggable Auth Support to ADC

See go/pluggable-auth-design.
Adding classes required for supporting pluggable auth and some functionality.
Will add the implementation for running the executable and reading from a cached file in a later pull request.

* fix: Correcting copyright year

* fix: addressing code review comments

* fix: Fixing interface description

* fix: Comment typo

* fix: Address code review comments

* fix: Add comments to ExecutableResponse properties

* fix: Addressing code review comments
…1431)

* feat: adding executable and file handling for pluggable auth client

Added PluggableAuthHandler to run user provided executable and read from cached file output + associated tests.

* fix: correcting pluggable auth credential source

Adding 'executable' object under credential source for pluggable auth options.

* fix: code review comments

* fix: Fixing output file string variable name and failing tests

* fix: code review comments + added readme documentation.

* fix: addressing code review
@aeitzman aeitzman requested review from a team as code owners August 4, 2022 00:01
@generated-files-bot
Copy link

Warning: This pull request is touching the following templated files:

@product-auto-label product-auto-label bot added the size: xl Pull request size is extra large. label Aug 4, 2022
@aeitzman aeitzman added do not merge Indicates a pull request not ready for merge, due to either quality or timing. next major: breaking change this is a change that we should wait to bundle into the next major version labels Aug 4, 2022
Copy link
Member

@danielbankhead danielbankhead left a comment

Choose a reason for hiding this comment

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

Looks good so far - a couple of changes requested

src/auth/executable-response.ts Show resolved Hide resolved
src/auth/executable-response.ts Outdated Show resolved Hide resolved
src/auth/pluggable-auth-client.ts Outdated Show resolved Hide resolved
src/auth/pluggable-auth-client.ts Show resolved Hide resolved
src/auth/pluggable-auth-client.ts Outdated Show resolved Hide resolved
src/auth/pluggable-auth-handler.ts Show resolved Hide resolved
src/auth/pluggable-auth-handler.ts Show resolved Hide resolved
src/auth/pluggable-auth-handler.ts Outdated Show resolved Hide resolved
src/auth/pluggable-auth-handler.ts Outdated Show resolved Hide resolved
src/auth/pluggable-auth-handler.ts Outdated Show resolved Hide resolved
@danielbankhead
Copy link
Member

What makes this PR breaking? It seems it can work without breaking existing users.

@aeitzman
Copy link
Contributor Author

aeitzman commented Aug 5, 2022

What makes this PR breaking? It seems it can work without breaking existing users.

On a previous PR, @bcoe was saying this should be a breaking change: #1419 (review)

@danielbankhead
Copy link
Member

What makes this PR breaking? It seems it can work without breaking existing users.

On a previous PR, @bcoe was saying this should be a breaking change: #1419 (review)

That makes sense - it looks like PluggableAuthClientOptions extends BaseExternalAccountClientOptions so I think we're good there now.

@danielbankhead danielbankhead removed the next major: breaking change this is a change that we should wait to bundle into the next major version label Aug 5, 2022
@danielbankhead danielbankhead removed the do not merge Indicates a pull request not ready for merge, due to either quality or timing. label Aug 9, 2022
Copy link
Member

@danielbankhead danielbankhead left a comment

Choose a reason for hiding this comment

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

LGTM - one test to address, then this should be gtg

Copy link
Contributor

@lsirac lsirac left a comment

Choose a reason for hiding this comment

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

Thanks Alex!

@lsirac lsirac changed the title Feat: Adds Pluggable Auth Support feat: adds Pluggable Auth support Aug 9, 2022
Copy link
Member

@danielbankhead danielbankhead left a comment

Choose a reason for hiding this comment

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

LGTM

@aeitzman aeitzman merged commit ed7ef7a into main Aug 11, 2022
@aeitzman aeitzman deleted the pluggable-auth branch August 11, 2022 23:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size: xl Pull request size is extra large.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[tracking issue]: adding executable and file handling for Pluggable Auth Client
3 participants