1
我使用托管在Heroku星火框架和我有这个在我main
:法在我的服务器如果自定义标记的生成是异步的,我将如何返回Firebase自定义标记?
post("/token", (request, response) -> "Hello World");
这是工作的罚款,但是,我想实际发送自定义标记,而不仅仅是“你好,世界”。
所以,从逻辑上讲,我需要这样的:
FirebaseAuth auth = FirebaseAuth.getInstance();
String uid = UUID.randomUUID().toString();
post("/token", (request, response) -> auth.createCustomToken(uid));
然而,createCustomToken
返回Task<String>
而不是String
。所以,我必须做的:
auth.createCustomToken(uid).addOnSuccessListener(new OnSuccessListener<String>() {
@Override
public void onSuccess(String s) {
}
});
然而,在这种形式:
post("/token", (request, response) -> auth.createCustomToken(uid).addOnSuccessListener(new OnSuccessListener<String>() {
@Override
public void onSuccess(String token) {
}
}));
我真正仍会返回是一个Task<String>
。我需要从onSuccess()
方法中返回token
,但是我不能,因为它是一个内部类。
我能做些什么来解决这个问题?