Skip to content

Commit 6a64da5

Browse files
committed
Added custom token creation and ID token verification samples
1 parent 3a0bcd3 commit 6a64da5

File tree

3 files changed

+39
-2
lines changed

3 files changed

+39
-2
lines changed

auth/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@ repositories {
1616

1717
dependencies {
1818
// Firebase Java SDK
19-
compile 'com.google.firebase:firebase-admin:5.1.0'
19+
compile 'com.google.firebase:firebase-admin:5.3.1'
2020
}

auth/src/main/java/com/google/firebase/quickstart/AuthSnippets.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@
44
import com.google.firebase.FirebaseApp;
55
import com.google.firebase.FirebaseOptions;
66
import com.google.firebase.auth.FirebaseAuth;
7+
import com.google.firebase.auth.FirebaseToken;
78
import com.google.firebase.auth.UserRecord;
89
import com.google.firebase.auth.UserRecord.CreateRequest;
910
import com.google.firebase.auth.UserRecord.UpdateRequest;
1011
import java.io.FileInputStream;
1112
import java.io.IOException;
13+
import java.util.HashMap;
14+
import java.util.Map;
1215
import java.util.concurrent.ExecutionException;
1316

1417
/**
@@ -95,6 +98,38 @@ public static void deleteUser(String uid) throws InterruptedException, Execution
9598
// [END delete_user]
9699
}
97100

101+
public static void createCustomToken() throws InterruptedException, ExecutionException {
102+
// [START custom_token]
103+
String uid = "some-uid";
104+
105+
String customToken = FirebaseAuth.getInstance().createCustomTokenAsync(uid).get();
106+
// Send token back to client
107+
// [END custom_token]
108+
System.out.println("Created custom token: " + customToken);
109+
}
110+
111+
public static void createCustomTokenWithClaims() throws InterruptedException, ExecutionException {
112+
// [START custom_token_with_claims]
113+
String uid = "some-uid";
114+
Map<String, Object> additionalClaims = new HashMap<String, Object>();
115+
additionalClaims.put("premiumAccount", true);
116+
117+
String customToken = FirebaseAuth.getInstance()
118+
.createCustomTokenAsync(uid, additionalClaims).get();
119+
// Send token back to client
120+
// [END custom_token_with_claims]
121+
System.out.println("Created custom token: " + customToken);
122+
}
123+
124+
public static void verifyIdToken(String idToken) throws InterruptedException, ExecutionException {
125+
// [START verify_id_token]
126+
// idToken comes from the client app (shown above)
127+
FirebaseToken decodedToken = FirebaseAuth.getInstance().verifyIdTokenAsync(idToken).get();
128+
String uid = decodedToken.getUid();
129+
// [END verify_id_token]
130+
System.out.println("Decoded ID token from user: " + uid);
131+
}
132+
98133
public static void main(String[] args) throws InterruptedException, ExecutionException {
99134
System.out.println("Hello, AuthSnippets!");
100135

@@ -121,6 +156,8 @@ public static void main(String[] args) throws InterruptedException, ExecutionExc
121156
getUserByPhoneNumber("+11234567890");
122157
updateUser("some-uid");
123158
deleteUser("some-uid");
159+
createCustomToken();
160+
createCustomTokenWithClaims();
124161
System.out.println("Done!");
125162
}
126163

database/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ repositories {
1515

1616
dependencies {
1717
// Firebase Java SDK
18-
compile 'com.google.firebase:firebase-admin:5.1.0'
18+
compile 'com.google.firebase:firebase-admin:5.3.1'
1919

2020
// Sundial Job Scheduler
2121
compile 'org.knowm:sundial:2.1.1'

0 commit comments

Comments
 (0)