Skip to content

Commit 62f13aa

Browse files
committed
feat: Document Fleet Reader role for Auth Library
1 parent 4ad77e4 commit 62f13aa

1 file changed

Lines changed: 20 additions & 15 deletions

File tree

README.md

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -55,22 +55,24 @@ FleetEngine Service Super User | Grants permission to all vehicles and trips API
5555
Fleet Engine Delivery Consumer SDK User | Grants permission to search for tasks using a tracking ID, and to read but not update task information. Tokens minted by a service account with this role are typically used from a delivery consumer's web browser.
5656
Fleet Engine Delivery Untrusted Driver User | Grants permission to update delivery vehicle location. Tokens minted by a service account with this role are typically used from your delivery driver's mobile devices.
5757
Fleet Engine Delivery Trusted Driver User | Grants permission to create and update delivery vehicles and tasks, including updating the delivery vehicle location and task status or outcome. Tokens minted by a service account with this role are typically used from your delivery driver's mobile devices or from your backend servers.
58-
Fleet Engine Delivery Fleet Reader | Grants permission to read delivery vehicles and tasks and to search for tasks using a tracking ID. Tokens minted by a service account with this role are typically used from a delivery fleet operator's web browser.
58+
Fleet Engine Delivery Fleet Reader User | Grants permission to read delivery vehicles and tasks and to search for tasks using a tracking ID. Tokens minted by a service account with this role are typically used from a delivery fleet operator's web browser. **To be Deprecated in favor of unified Fleet Reader.**
5959
Fleet Engine Delivery Super User| Grants permission to all delivery vehicles and tasks APIs. Tokens minted by a service account with this role are typically used from your backend servers.
60+
Fleet Engine Fleet Reader User | Grants read access to all Fleet Engine resources (both On-Demand Rides & Deliveries and Last Mile Fleet Solution). Tokens minted by a service account with this role are typically used from a fleet operator's web browser or backend server for fleet-wide visibility.
6061

6162
Each role is tied to a `com.google.fleetengine.auth.token.FleetEngineTokenType`,
6263
and each type of token can be constrained to a specific resource:
6364

6465
Role | Token Type | Resource Constraint
6566
:---------------------------------- | :-----------------------------: | :-----------------:
66-
Fleet Engine Consumer SDK User | `FleetEngineTokenType#CONSUMER` | trip id
67-
Fleet Engine Driver SDK User | `FleetEngineTokenType#DRIVER` | vehicle id
68-
Fleet Engine Service Super SDK User | `FleetEngineTokenType#SERVER` | (no constraint)
69-
Fleet Engine Delivery Consumer SDK User | `FleetEngineTokenType#DELIVERY_CONSUMER` | task id OR tracking id
70-
Fleet Engine Delivery Untrusted Driver SDK User | `FleetEngineTokenType#UNTRUSTED_DELIVERY_DRIVER` | delivery vehicle id
71-
Fleet Engine Delivery Trusted Driver SDK User | `FleetEngineTokenType#TRUSTED_DELIVERY_DRIVER` | delivery vehicle id and task id
72-
Fleet Engine Delivery Fleet Reader SDK User | `FleetEngineTokenType#DELIVERY_FLEET_READER` | (no constraint)
73-
Fleet Engine Delivery Super SDK User | `FleetEngineTokenType#DELIVERY_SERVER` | (no constraint)
67+
Fleet Engine Consumer SDK User | `FleetEngineTokenType.CONSUMER` | trip id
68+
Fleet Engine Driver SDK User | `FleetEngineTokenType.DRIVER` | vehicle id
69+
Fleet Engine Service Super SDK User | `FleetEngineTokenType.SERVER` | (no constraint)
70+
Fleet Engine Delivery Consumer SDK User | `FleetEngineTokenType.DELIVERY_CONSUMER` | task id OR tracking id
71+
Fleet Engine Delivery Untrusted Driver SDK User | `FleetEngineTokenType.UNTRUSTED_DELIVERY_DRIVER` | delivery vehicle id
72+
Fleet Engine Delivery Trusted Driver SDK User | `FleetEngineTokenType.TRUSTED_DELIVERY_DRIVER` | delivery vehicle id and task id
73+
Fleet Engine Delivery Fleet Reader SDK User | `FleetEngineTokenType.DELIVERY_FLEET_READER` | (no constraint)
74+
Fleet Engine Delivery Super SDK User | `FleetEngineTokenType.DELIVERY_SERVER` | (no constraint)
75+
Fleet Engine Fleet Reader User | `FleetEngineTokenType.FLEET_READER` | (no constraint)
7476

7577

7678
### JWT Signers
@@ -108,8 +110,9 @@ For example, when creating tokens for use with the On Demand Rides and Deliverie
108110
```java
109111
AuthTokenMinter minter = AuthTokenMinter.builder()
110112
.setServerTokenSigner(DefaultServiceAccountSigner.create())
111-
.setDriverSigner(ImpersonatedAccountSignerCredentials.create("driver@gcp-project.com")
112-
.setConsumerSigner(ImpersonatedAccountSignerCredentials.create("consumer@gcp-project.iam.gserviceaccount.com")
113+
.setDriverSigner(ImpersonatedSigner.create("driver@gcp-project.iam.gserviceaccount.com"))
114+
.setConsumerSigner(ImpersonatedSigner.create("consumer@gcp-project.iam.gserviceaccount.com"))
115+
.setFleetReaderSigner(ImpersonatedSigner.create("fleet-reader@gcp-project.iam.gserviceaccount.com"))
113116
.build();
114117
```
115118

@@ -118,10 +121,10 @@ When creating tokens for use with the Last Mile Fleet Services, use:
118121
```java
119122
AuthTokenMinter minter = AuthTokenMinter.deliveryBuilder()
120123
.setDeliveryServerSigner(DefaultServiceAccountSigner.create())
121-
.setDeliveryConsumerSigner(ImpersonatedAccountSignerCredentials.create("delivery-consumer@gcp-project.com")
122-
.setUntrustedDeliveryDriverSigner(ImpersonatedAccountSignerCredentials.create("untrusted-delivery-driver-signer@gcp-project.iam.gserviceaccount.com")
123-
.setTrustedDeliveryDriverSigner(ImpersonatedAccountSignerCredentials.create("trusted-delivery-driver-signer@gcp-project.iam.gserviceaccount.com")
124-
.setDeliveryFleetReaderSigner(ImpersonatedAccountSignerCredentials.create("delivery-fleet-reader@gcp-project.iam.gserviceaccount.com")
124+
.setDeliveryConsumerSigner(ImpersonatedSigner.create("delivery-consumer@gcp-project.iam.gserviceaccount.com"))
125+
.setUntrustedDeliveryDriverSigner(ImpersonatedSigner.create("untrusted-delivery-driver-signer@gcp-project.iam.gserviceaccount.com"))
126+
.setTrustedDeliveryDriverSigner(ImpersonatedSigner.create("trusted-delivery-driver-signer@gcp-project.iam.gserviceaccount.com"))
127+
.setFleetReaderSigner(ImpersonatedSigner.create("fleet-reader@gcp-project.iam.gserviceaccount.com"))
125128
.build();
126129
```
127130

@@ -134,6 +137,8 @@ FleetEngineToken serverToken = minter.getServerToken();
134137
FleetEngineToken consumerToken = minter.getConsumerToken(TripClaims.create("trip-id-123"));
135138

136139
FleetEngineToken driverToken = minter.getDriverToken(VehicleClaims.create("vehicle-id-123"));
140+
141+
FleetEngineToken fleetReaderToken = minter.getFleetReaderToken();
137142
```
138143

139144
A `FleetEngineToken` has several attributes, but in most cases, only the base64

0 commit comments

Comments
 (0)