Firebase 権限が拒否されました: アクセスの問題の解決
Firebase データベースにデータを送信しようとすると、「permission_denied」エラーが発生する場合があります。これは、現在のユーザーが指定されたデータにアクセスするために必要な権限を持っていないことを示します。
デフォルトでは、Firebase データベースにアクセスできるのは、Admin SDK を使用する管理ユーザーまたはプロセスのみです。ただし、データベースのセキュリティ ルールを変更して、認証されたユーザーまたは認証されていないユーザーにアクセスを許可することもできます。
非認証アクセスの許可
簡単な回避策として、デフォルトのルールを次のように置き換えます。以下:
{ "rules": { ".read": true, ".write": true } }
これにより、アクセス権を持つすべてのユーザーに読み取りおよび書き込みアクセスが許可されます。データベースの URL。この操作によりデータベースにパブリックにアクセスできるようになるため、機密データには使用しないでください。
アクセス前にユーザーをサインインする
より安全なオプションこれは、データベースにアクセスする前にユーザーがサインインしていることを確認するためです。これは、匿名認証を使用して実現できます:
firebase.auth().signInAnonymously().catch(function(error) { // Handle Errors here. });
サインイン後、データベースにリスナーをアタッチできます:
firebase.auth().onAuthStateChanged(function(user) { if (user) { // User is signed in. setUserInfo(); } else { // User is signed out. } });
「setUserInfo」関数で、指定されたユーザーIDを使用して必要なデータをデータベースに保存します。これにより、サインインしたユーザーのみがデータにアクセスできるようになります。
以上がFirebase の権限が拒否されました: データベースへのアクセスを許可するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。