2

我已经构建了一个使用电子邮件/密码认证的Android应用程序。但现在我想切换到自定义身份验证方法,如customTokens使用java开始使用Firebase Admin Sdk

在使用Google搜索时,我使用NodeJS和Java在Firebase中发现了Admin SDK Setup

我不知道如何设置Firebase Admin SDK。虽然我已经设置了管理面板,但我无法理解服务器应用程序的概念,但我无法理解。

当我试图复制中的说明,我的客户端应用程序提供的依赖,它开始给了一个错误 - 即它无法识别,我已经使用使用电子邮件认证用户的验证方法 /密码认证。

而当我在Application.java文件复制从指令的片断,我发起火力地堡:

FirebaseOptions options = new FirebaseOptions.Builder() 
    .setServiceAccount(new FileInputStream("path/to/serviceAccountKey.json")) 
    .setDatabaseUrl("https://<DATABASE_NAME>.firebaseio.com/") 
    .build(); 

FirebaseApp.initializeApp(options); 

.setServiceAccount()没有得到承认它 - 即它显示为红色。

所以底线是我不知道如何使用Admin SDK。这是什么功能?在哪里部署代码以使用Admin SDK?

我想为我想要使用Amazon Lambda的短信验证添加自定义令牌。我真的不知道从哪里开始或不知道任何教程。

+0

您可以检查import语句,看看是否正确类是进口的?还请检查您是否下载了最新的JDK?我正在使用4.0.3。 – SSG

+0

这些是我的Imports语句' import com.firebase.client.Firebase; import com.firebase.client.Logger; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; import java.io.FileInputStream;' – Oswald

+0

所以这意味着我必须将此代码集成到我的Firebase客户端应用程序中。如果我这样做,我的常规Firebase身份验证方法将无法工作我想,只有CustomAuthentication才能正常工作......正确吗? – Oswald

回答

0

您需要在服务器端创建服务generateCustomToken,在我的情况下,我使用的是与Java的Google-App-Engine。我不知道亚马逊Lambda,但是在成功获得访问令牌后,您可以从亚马逊服务获取account_id或uid权限?或者至少你可以得到电话号码,因为它是独一无二的。

现在获得uid /电话号码后,您可以创建CustomToken。这是我在后端模块中的代码。

FirebaseOptions options = new FirebaseOptions.Builder() 
      .setServiceAccount(new FileInputStream(
        new File("path/to/serviceAccountKey.json"))) 
      .setDatabaseUrl("https://<DATABASE_NAME>.firebaseio.com/") 
      .build(); 

    try { 
     FirebaseApp.getInstance(); 
    } 
    catch (Exception error){ 
    } 

    try { 
     FirebaseApp.initializeApp(options); 
    } 
    catch(Exception error){ 
    } 

    String customToken=""; 

    try { 
     FirebaseAuth.getInstance().createCustomToken(uid); 
    }catch (Exception error){ 
    } 

    MyBean response = new MyBean(); 
    response.setData(customToken); 

    return response; 

本指南真的帮我,http://atimothee.xyz/blog/2016/09/17/how-to-use-facebook-account-kit-to-authenticate-firebase-app-users-on-android/https://firebase.google.com/docs/auth/android/custom-auth

虽然你需要做出与尝试捕捉一些变化,因为如果不是,你将只在第一次成功一次