Hi!

I've been thinking about this and perhaps we could extend the OAuth
API to allow dynamic configuration of each OAuth property. I've
created a branch to play with and see if this approach could work:

Here is the change to OAuth (backwards-compatible):
https://github.com/nacx/jclouds/commit/5e384265ae738b913863931e89d8e37a3170b155

And here the change to Azure ARM:
https://github.com/nacx/jclouds-labs/commit/5212be898c3100f4caf07f0dbaa071f99563a6e5

The idea is to apply the same pattern we were applying tot he OAuth
scopes, but provide all the configuration per-request. The default
implementation just returns the values configured as context
properties, but custom ones can be bound to the Guice context to
provide custom values per-request.


@Jim, @Andrea could you give this approach a try and see if we can use
this to remove the custom keyvault filter in Azure ARM? With this
approach we should be able to keep using the OAuthFilter.

On 21 November 2017 at 04:34, Jim Spring <jmspr...@gmail.com> wrote:
> @Ignasi/@Andrea -
>
> I'm guilty for writing the code as it is in OAuth, I should have thought 
> ahead.
>
> Azure KeyVault has a dynamic resource (the vault URI) that
> authorization must be requested against.  In the current PR, @Andrea
> added the KeyVaultFilter to support this, mostly duplicating
> ClientCredentialsSecretFlow.  With Azure, conceivably we could use
> both ClientCredentialsJWTBearerTokenFlow and
> ClientCredentialsSecretFlow.
>
> My thought is, to isolate the changes (for now) in azurecompute-arm
> and figure out a way to work around this (while not duplicating the
> code as it is in the current PR).  Once the PR is in, then work on
> updating jclouds proper and update azurecompute-arm accordingly.
>
> Thoughts?
>
> Thanks
> -jim

Reply via email to