0
私はFirebase admin authを使用して、クラウド機能経由で電話番号でユーザを取得しようとしています。ここでは、クラウド機能(一部のリクエストボディ検証を除いたもの)があります。getUserByPhoneNumberは常に要求エラーを返します
module.exports = (req, res) => {
const phone = req.body.phone;
admin.auth().getUserByPhoneNumber(phone).then(userRecord => {
res.send({ user: userRecord });
})
.catch(getUserErr => {
res.status(422).send({ error: getUserErr });
});
};
電話機はE.164に準拠しています。応答で次のエラーが表示されます。
Error: could not handle the request
重要な情報がいくつかあります。私はこれを雲の関数から呼び出しています。また、私は現在、電話番号を使用して匿名ユーザーを作成しています(別のクラウド機能を使用)。電話のサインインプロバイダを使用していません。
admin.auth().createUser({
phoneNumber: phone
})
(匿名サインインプロバイダに加えて)電話の認証プロバイダをオンにしようとしましたが、それは問題には見えません。
誰でもこの原因がわかりますか?ドキュメントは、他の設定が必要な場合はサイレントにします。
あなたの機能の完全な実装を共有できますか?または少なくとも上記のメソッドを呼び出す部分? –
完全な機能を含むように編集された質問。関数がレコードを見つけられなかった場合、getUserとgetUserByEmailと同じことを行い、次のようなエラーを返します:{ "error":{ "code": "auth/user-not-found"、 "message": "提供された識別子に対応するユーザレコードがありません。" } } – Paul
はい。これは実際にはadmin SDKによって生成されたエラーではありません。他の何かがここで失敗している。これをデバッグするのに役立つアイデアについては、https://stackoverflow.com/questions/45600367/cloud-functions-for-firebase-error-could-not-handle-the-requestを参照してください。 –