I am trying to authenticate a client token created by the Firebase authentication library in Android at the GCE endpoint.
A guide on how to do this can be found here.
Basically, I need to call this piece of code from the endpoint (i.e. server code, not Android code).
FirebaseAuth.getInstance().verifyIdToken(idToken)
.addOnSuccessListener(new OnSuccessListener<FirebaseToken>() {
@Override
public void onSuccess(FirebaseToken decodedToken) {
String uid = decodedToken.getUid();
}
});
Let's say I want to execute this code and return the user to the Android client code. How should I do it?
This is my sample code that doesn't make sense. But he demonstrates what I want to do!
@ApiMethod(name = "serverAuth")
public MyUser serverAuth(@Named("token") String token) {
FirebaseAuth.getInstance().verifyIdToken(token)
.addOnSuccessListener(new OnSuccessListener<FirebaseToken>() {
@Override
public void onSuccess(FirebaseToken decodedToken) {
String uid = decodedToken.getUid();
String email = decodedToken.getEmail();
String name = decodedToken.getName();
Map<String, Object> claims = decodedToken.getClaims();
String claimString = "";
for (Object claim : claims.values()) {
claimString += claims.toString();
}
MyUser user = new MyUser(uid, email, name, claimString);
}
});
return user;
}
Google, GCE. . , , - - , , . , , , ?