web-dev-qa-db-ja.com

Firebaseでデフォルトのauth:exportの後にauth:importのハッシュキーオプションを設定するにはどうすればよいですか?

ユーザーをCLIでエクスポートしました。

firebase auth:export my_users.json

ドキュメントに記載されているように、エクスポートされたファイルのパスワードはSCRYPTでハッシュする必要があります。

auth:exportコマンドは、Firebaseバックエンドで使用されるscryptアルゴリズムを使用してハッシュされたパスワードのみをエクスポートします。他のアルゴリズムを使用してハッシュされたパスワードを持つアカウントレコードは、空のpasswordHashフィールドとsaltフィールドでエクスポートされます。インポートされたユーザーが初めてサインインしたときにのみパスワードがscryptで再ハッシュされるため、プロジェクトでは、ファイルからユーザーレコードをインポートした後、他のアルゴリズムでパスワードがハッシュされる場合があります。

結果のハッシュキーフィールドとソルトフィールドは空ではありません。また、すべてのユーザーが少なくとも1回はサインインしたことも知っています。

さて、my_users.jsonをインポートしようとすると:

firebase auth:import --hash-algo=SCRYPT --rounds=1 my_users.json

次のエラーが発生します。

Must provide hash key(base64 encoded) for hash algorithm SCRYPT

しかし、auth:exportコマンドはパラメーターを受け取らなかったので、-hash-keyを何に設定する必要がありますか? .。

前もって感謝します

16
ezmegy

これで、FirebaseコンソールのGUIからハッシュキーとソルト情報を取得できるようになりました。何らかの理由でchrome)でシークレットモードに入る必要がありました(Firebaseサポートがこれを提案しました)。

その後、シークレットブラウザでFirebaseコンソールにログインできます。

(ユーザーのコピー先のインスタンスではなく、ユーザーのコピー元のFirebaseインスタンスを使用する必要があることに注意してください)

[認証]-> [ユーザー]をクリックし、[再読み込み]ボタンの横にある3つの縦のドットをクリックすると、ポップアップメニューが表示され、[パスワードハッシュパラメータ]という1つのメニュー項目が表示されます。

password hash parameters

このメニュー項目をクリックすると、firebase auth:importコマンドを実行するために必要なすべての設定が表示されます。これが私が見るものです:

hash_config {
  algorithm: SCRYPT,
  base64_signer_key: <long string of random characters>,
  base64_salt_separator: <short string of random characters>,
  rounds: 8,
  mem_cost: 14,
}

その後、コマンドを正常に実行できます

firebase auth:import ./users.json --hash-algo=scrypt --rounds=8 --mem-cost=14 --hash-key=<long string of random characters> --salt-separator=<short string of random characters>
22
Geoffrey Wall

Firebaseのドキュメントを参照-「FirebaseAuthenticationPassword Hashing」: https://firebaseopensource.com/projects/firebase/scrypt/

パスワードハッシュパラメータの検索

Firebaseは、Firebaseプロジェクトごとに一意のパスワードハッシュパラメータを生成します。これらのパラメータにアクセスするには、Firebase Consoleの[認証]セクションの[ユーザー]タブに移動し、ユーザーテーブルの右上隅にあるドロップダウンから[パスワードハッシュパラメータ]を選択します。

残念ながら、cliを介してハッシュパラメータをフェッチするオプションはないようです。したがって、GUIが唯一の方法だと思います(Geoffrey Wallが 彼らの答え で述べたように)。

0