まず最初に、私はJavaやAndroidの両方の専門家ではなく、実際は初心者です。だから、もし何かが愚かなことや苛立っているような気がしたら、私は疑問にぶつかるのを止めようとしている。Firebaseのカスタム認証とサービスアカウントでの問題
私の問題は、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)
は、今、私はsetserviceaccountが廃止されていることを読んだタイプFirebaseOptions.Builder
のために定義されていませんが、私がそれを使用しているときに、私に何のエラーも与えないでください
2)カスタムトークンを作成するとき -
のタイプのメソッドaddOnSuccessListener(new OnSuccessListener<String>(){})
は未定義ですこれは別のメソッドエラーで、トークンをクライアントに返す方法もわかりません。どのように私がそれにアプローチすべきかの例は見つけられませんでした。どんな助けでも大歓迎です。
他の人がどのようにトークンをクライアントに送信するかという例は素晴らしいでしょう。