使用Firebase进行自定义身份验证会导致FirebaseException:发生内部错误。 [MISSING_IDENTIFIER]

时间:2016-11-15 10:52:18

标签: java firebase jwt firebase-authentication

我尝试使用Firebase在我的Android应用中设置自定义身份验证。我在服务器上生成Json Web Token并将其传递给客户端。因此,当我在signInWithCustomToken的android上使用自定义令牌时,我收到此错误:

com.google.firebase.FirebaseException: An internal error has occurred. [ MISSING_IDENTIFIER ]
          at com.google.android.gms.internal.zzahe.zzfc(Unknown Source)
          at com.google.android.gms.internal.zzahb$zzg.zza(Unknown Source)
          at com.google.android.gms.internal.zzahm.zzfd(Unknown Source)
          at com.google.android.gms.internal.zzahm$zza.onFailure(Unknown Source)
          at com.google.android.gms.internal.zzahh$zza.onTransact(Unknown Source)
          at android.os.Binder.execTransact(Binder.java:453)

我在Firebase控制台上生成了私钥,并且我使用Java JWT library在服务器上生成令牌。所有凭据(发行人,主题,受众)都是正确的,如果我使用不正确的凭据,则会抛出FirebaseAuthInvalidCredentialsException

那么这里似乎是什么问题?我已经坚持了很长时间。有谁知道吗?

我之所以没有使用FirebaseAdminSDK,是因为它使用的是Java8,我似乎无法理解如何使用Java8在AppEngine上进行部署,所以我使用的是Java 7 App Engine SE。

1 个答案:

答案 0 :(得分:1)

根据Firebase Admin Java SDK Release Notes,FirebaseAdminSDK和java8的问题现已在4.0.2版本中修复 - 2016年11月15日:

  

FIXED:此更新恢复了Admin Java SDK的Java 7兼容性。

我猜你现在可以使用它了;)