diff --git a/src/test/java/com/google/firebase/snippets/FirebaseAuthSnippets.java b/src/test/java/com/google/firebase/snippets/FirebaseAuthSnippets.java index cd73908da..500bb2197 100644 --- a/src/test/java/com/google/firebase/snippets/FirebaseAuthSnippets.java +++ b/src/test/java/com/google/firebase/snippets/FirebaseAuthSnippets.java @@ -1150,6 +1150,33 @@ public void customClaimsVerifyTenant( // [END verify_custom_claims_tenant] } + public static void setCustomUserClaimsTenant(TenantAwareFirebaseAuth tenantAuth, + String uid) throws FirebaseAuthException { + // [START set_custom_user_claims_tenant] + // Set admin privilege on the user corresponding to uid in a specific tenant. + Map claims = new HashMap<>(); + claims.put("admin", true); + tenantAuth.setCustomUserClaims(uid, claims); + // The new custom claims will propagate to the user's ID token the + // next time a new one is issued. + // [END set_custom_user_claims_tenant] + + String idToken = "id_token"; + // [START verify_custom_claims_tenant] + // Verify the ID token first. + FirebaseToken decoded = tenantAuth.verifyIdToken(idToken); + if (Boolean.TRUE.equals(decoded.getClaims().get("admin"))) { + // Allow access to requested admin resource. + } + // [END verify_custom_claims_tenant] + + // [START read_custom_user_claims_tenant] + // Lookup the user associated with the specified uid in a specific tenant. + UserRecord user = tenantAuth.getUser(uid); + System.out.println(user.getCustomClaims().get("admin")); + // [END read_custom_user_claims_tenant] + } + public void generateEmailVerificationLinkTenant( TenantAwareFirebaseAuth tenantAuth, String email,