See the documentation for more information about authenticating for Google Cloud APIs.
Install Maven.
Build your project with:
mvn clean package -DskipTests
You can then run a given ClassName
via:
mvn exec:java -Dexec.mainClass=com.example.storage.ClassName \
-DpropertyName=propertyValue \
-Dexec.args="any arguments to the app"
mvn exec:java -Dexec.mainClass=com.google.cloud.auth.samples.AuthExample
mvn exec:java -Dexec.mainClass=com.google.cloud.auth.samples.AuthExample
-Dexec.args="explicit [path-to-credentials-json]"
mvn exec:java -Dexec.mainClass=com.google.cloud.auth.samples.AuthExample
-Dexec.args="compute"
Create an API key via the Google Cloud console:
Once you have an API key replace it in the main function in ApiKeyAuthExample and run the following command
mvn exec:java -Dexec.mainClass=com.google.cloud.auth.samples.ApiKeyAuthExample
The same configuration above applies.
This section provides examples for Downscoping with Credential Access Boundaries. There are two examples demonstrating different ways to implement downscoping.
DownscopedAccessTokenGenerator
and DownscopedAccessTokenConsumer
Examples:
These examples demonstrate a common pattern for downscoping, using a token broker and consumer.
The DownscopedAccessTokenGenerator
generates the downscoped access token using a client-side approach, and the DownscopedAccessTokenConsumer
uses it to access Cloud Storage resources.
To run the DownscopedAccessTokenConsumer
, you must provide a bucket name and object name under the TODO(developer):
in the main
method.
You can then run DownscopedAccessTokenConsumer
via:
mvn exec:java -Dexec.mainClass=com.google.cloud.auth.samples.DownscopedAccessTokenConsumer
DownscopingExample
Example:
This example demonstrates downscoping using a server-side approach. To run this example you must provide both a bucket name and object name under the TODO(developer): in the main method of DownscopingExample
.
You can then run DownscopingExample
via:
mvn exec:java -Dexec.mainClass=com.google.cloud.auth.samples.DownscopingExample
Run all tests:
mvn clean verify