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

雖然你需要做出與嘗試捕捉一些變化,因爲如果不是,你將只在第一次成功一次