Java 名为[DEFAULT]的FirebaseApp不';不存在;Firebase令牌验证
为了验证从客户端应用程序发送的Firebase令牌,我有以下代码:Java 名为[DEFAULT]的FirebaseApp不';不存在;Firebase令牌验证,java,maven,authentication,token,firebase-authentication,Java,Maven,Authentication,Token,Firebase Authentication,为了验证从客户端应用程序发送的Firebase令牌,我有以下代码: Task<FirebaseToken> authTask = FirebaseAuth.getInstance().verifyIdToken("very long string token").addOnSuccessListener(new OnSuccessListener() { @Override public void onSuccess(Object tr) { } }).addOnFailureLis
Task<FirebaseToken> authTask = FirebaseAuth.getInstance().verifyIdToken("very long string token").addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess(Object tr) { }
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception excptn) { }
}).addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(Task task) { }
});
try {
Tasks.await(authTask);
} catch(ExecutionException | InterruptedException e ){
//handle error
}
FirebaseToken decodedToken = authTask.getResult();
String uid = decodedToken.getUid();
Task authTask=FirebaseAuth.getInstance().verifyIdToken(“超长字符串标记”).addOnSuccessListener(新OnSuccessListener()){
@凌驾
成功时公共无效(对象tr){}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(异常excptn){}
}).addOnCompleteListener(新的OnCompleteListener(){
@凌驾
公共void onComplete(任务){}
});
试一试{
任务。等待(authTask);
}捕获(ExecutionException | InterruptedException e){
//处理错误
}
FirebaseToken decodedToken=authTask.getResult();
字符串uid=decodedToken.getUid();
当通过Maven/google后端api部署时,我得到以下错误:
java.lang.IllegalStateException:名为[DEFAULT]的FirebaseApp不存在
我如何解决它
/resources/META-INF/
目录中appengine web.xml
FirebaseAuth.getInstance()
当您的AppEngine实例运行测试版(可能是1.9.44)时,它会给您一个noMethodFoundError。那你就可以继续了
<!-- Include resource files -->
<resource-files>
<include path="/**.json" />
<include path="/**.xml" />
<include path="/**.properties" />
</resource-files>
public void init(ServletConfig config) throws ServletException {
InputStream loadedServiceAccount = config
.getServletContext()
.getResourceAsStream("/WEB-INF/service_account_key.json");
FirebaseOptions options = new FirebaseOptions.Builder()
.setServiceAccount(loadedServiceAccount)
.setDatabaseUrl("URL_FIREBASE_DATABASE").build();
FirebaseApp firebaseApp = FirebaseApp.initializeApp(options);
FirebaseAuth.getInstance(firebaseApp);
}