アカウント作成時に自動的に生成されるFirebaseユーザUIDを誰かが指定して管理しているのだろうかと思います。私がこれをしたい理由は、私のアプリでは医者と患者を扱っているからです。医者は口座を患者に作成することができます。口座には、口座を標準の火災基地のユーザーにすることができると主張するか、請求されないようにすることができます。いずれにしても、この患者アカウントは他の医師と共有することができますので、医師が相談などを読むことができます。ユーザにFirebase UIDを指定する方法は?
医者は正規のファイヤーベースユーザーでなければなりません。 users
ノード。アカウントを要求していない患者はunclaimedUsers
ノードに存在します。ユーザーとクレームされていないユーザーの唯一の違いは、患者のプライマリキーは電子メールアドレスになりますが、ユーザーのプライマリキーは自分のアカウントを作成するときに生成されるファイヤベースUIDになります。
「未請求のユーザ」ノードに電子メールアドレスで格納するのではなく、未請求のユーザをUIDを使用して保存することができます。そのためにアカウントを作成し、オブジェクトはunclaimedUsers
からusers
ノードに移動します。
これは、アカウントが主張されると、アカウントが主張されていても共有されていて、UIDと電子メールアドレスが混在しているため、データ構造全体で更新する必要はありません'清潔ではありません。
firebaseのREST SDKとiOS SDKの両方を調べましたが、標準の電子メール/パスワード認証機能を使用してアカウントを割り当てるUIDを設定する方法はありません。社会的機能。私がこれをやろうとすれば、firebaseの利点の多くを失うので、私がまだ試していない唯一の方法は私自身のカスタム認証を使うことです。
私が使用している構造が装着されている - 第2の目的は、unclaimed
を言うところ、これが誰かのメールアドレスになります - トップオブジェクトがuser
命名され、これはUID DdxfJdkR0JX1fpXcV07eotxn3M33
のようなので、ものになるだろう。
"user": { "address": "1 infinity loop", "country": "AU", "displayPicture": "https://static.pexels.com/photos/7720/night-animal-dog-pet.jpg", "dob": "13/09/1991", "email": "[email protected]", "firstName": "henry", "lastName": "hardy", "mobileNumber": "0400000000", "postcode": "Z4351", "pushNotifications": true }, "unclaimed": { "address": "1 infinity loop", "country": "AU", "displayPicture": "https://static.pexels.com/photos/7720/night-animal-dog-pet.jpg", "dob": "13/09/1991", "email": "[email protected]", "firstName": "henry", "lastName": "hardy", "mobileNumber": "0400000000", "postcode": "Z4351", "pushNotifications": true }