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