2017-01-05 5 views
2

Firebaseのドキュメント https://firebase.google.com/support/guides/parse-ios#migrate-accountsに従っています。エクスポートしたParseユーザをFirebaseに移行します。それは同じエラーを持つすべてのレコードに失敗しFirebase auth:import(v 3.2.1)がユーザをインポートできません

firebase auth:import --debug --hash-algo BCRYPT ../sample.json

Error: HTTP Error: 400, Invalid value for ByteString: $2a$10$FGbVQ4bhehr6Z2XBoiF9BO2H.3EXTV9pRRf2ahHFimltnOg1oagPO

私は、ハッシュは、このオンラインツールhttps://www.dailycred.com/article/bcrypt-calculatorを使用して知られているパスワードを焼き直しすることにより良好であることを確認しました。

>>> HTTP REQUEST POST https://www.googleapis.com/identitytoolkit/v3/relyingparty/uploadAccount users=[[email protected], localId=1, displayName=jasonimport], hashAlgorithm=BCRYPT, targetProjectId=comicchameleon-2813e

答えて

1
:私はすべてで、それがなかった仕事にインポートを得ることができるかどうかを確認するために passwordHashフィールドを削除しますが、とき

また、電子メールのフィールドは、詳細なデバッグコンソール出力でそれらを見てもかかわらず、失われます

b64ryptハッシュ文字列をbase64でエンコードし、エンコードされた文字列をpasswordHashに設定する必要があります。これは、hereと記載されています。

次のNodeJsコードは、base64エンコーディングを実行できます。

new Buffer('$2a$10$FGbVQ4bhehr6Z2XBoiF9BO2H.3EXTV9pRRf2ahHFimltnOg1oagPO').toString('base64'); 

メールが不足している原因がわかりません。 sample.jsonをここに貼り付けることができますか?

+0

ありがとうございました! SOは、私はただあなたに感謝するつもりはないと言います。あなたが本当にFirebaseに参加しているのであれば、私は1つのことについて文句を言います。このページのhttps://firebase.google.com/support/guides/parse-ios#migrate-accountsには、ParseのbcryptPasswordフィールドのbase64エンコーディングは記載されていません。さらに、元のデータはpasswordHashと同じ文字列を使用して動作するはずです「変換された」Firebase入力に入力します。 – Jason

+1

@ Jason、文書が更新されました。 – wyhao31

関連する問題