-
Notifications
You must be signed in to change notification settings - Fork 395
Add a post about A2A security #2444
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
Conversation
|
🙈 The PR is closed and the preview is expired. |
cescoffier
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I looks good, but we should start working on the simplification. OIDC should be automatically plugged in.
| author: fjuma | ||
| --- | ||
|
|
||
| Today, we've released A2A Java SDK 0.3.0.Final which includes security and cloud related enhancements. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wasn't it released before devoxx?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That was 0.3.0.Beta2
|
@sberyozkin FYI. |
Yes, configuration simplification is one of the main things we'd like to work on next. We are tracking that here: |
| .streamingErrorHandler(streamingErrorHandler); | ||
|
|
||
| // Configure only the user-specified transport | ||
| switch (transport.toLowerCase()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was wondering a bit where transport comes from, and found it is a parameter to the createClient() method. Might be worth pointing that out somehow
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
|
|
||
| > **NOTE**: In our sample, we're going to rely on Quarkus Dev Services to automatically create and configure | ||
| a Keycloak instance that we'll use as our OAuth2 provider. For more details on using Podman with | ||
| Quarkus, see this https://quarkus.io/guides/podman[guide]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like a sentence it missing: something along the way:
Quarkus Dev Services relies on a container engine such as docker or podman to be installed and properly configured. For more details on using Podman with
Quarkus, see this https://quarkus.io/guides/podman[guide].
|
|
||
| The A2A Java SDK provides two main classes related to authentication: | ||
|
|
||
| * `CredentialService`: An interface you implement to define how to obtain a credential for a specific security scheme. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you need to implement
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
|
|
||
| return builder.build(); | ||
| ---- | ||
| <1> `CredentialService` is an interface provided by the A2A Java SDK. You can implement this interface to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can implement this interface or You must implement this interface
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll leave this as "You can" since they could also implement their own interceptor to obtain credentials some other way, they don't have to use the AuthInterceptor.
|
As far as picking up incoming bearer or user login/code flow access tokens is concerned, injecting an instance of |
|
I guess an implementation of CredentialProvider that can be provided out of the box can do it, just check if the token is available or not. Concrete deployments will add quarkus oidc. |
|
Thanks @sberyozkin! Will keep that in mind. |
|
@cescoffier This is now ready to be merged. Thanks! |
|
Great! Thanks! |
Creating this as a draft PR until we release 0.3.0.Final (which should happen very soon).