Firebase自定义身份验证和服务帐户中的问题

时间:2017-03-29 06:43:17

标签: android firebase firebase-authentication service-accounts

好的,首先我不是java或android的专家,事实上我只是初学者。因此,如果有什么事情听起来很愚蠢或令人生气,请原谅我无法提出任何问题。

所以,我的问题是,在使用firebase验证我的服务器时,我在设置服务帐户和创建自定义令牌时遇到了一些麻烦。

  

https://firebase.google.com/docs/admin/setup

     

https://firebase.google.com/docs/auth/admin/create-custom-tokens

我正在从这里获取帮助并遵循这些步骤,这就是我所做的。

FileInputStream serviceAccount = new FileInputStream("path/to/serviceAccountKey.json");

FirebaseOptions options = new FirebaseOptions.Builder()
  .setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
  .setDatabaseUrl("https://<DATABASE_NAME>.firebaseio.com/")
  .build();

FirebaseApp.initializeApp(options);

FirebaseAuth.getInstance()
            .createCustomToken(uid)
            .addOnSuccessListener(new OnSuccessListener<String>() {

    @Override
    public void onSuccess(String customToken) 
    {
        // Send token back to client
    }
});

但我得到了非常不寻常的错误,即

1)在服务帐户上 - 方法setCredential(FirebaseCredential)未定义类型FirebaseOptions.Builder

现在我已经读过不推荐使用setserviceaccount,但是当我使用它时,它没有给我任何错误

2)关于创建自定义标记 - 方法addOnSuccessListener(new OnSuccessListener<String>(){})未定义类型String

这是另一种方法错误,而且我也不知道如何将令牌发送回客户端。我无法找到任何可以接近它的例子。任何帮助将不胜感激。

其他人如何将令牌发送给客户端的任何示例都会很棒。

1 个答案:

答案 0 :(得分:0)

好的,最后我已经解决了这个问题,问题是在我的pom.xml中我还使用了(Firebase Server SDK Library»3.0.3)maven存储库。这就是为什么有方法问题。