Ich versuche also, eine Chat-App mit FireBase (leider) Echtzeit-DB zu erstellen, aber ich erhalte Fehler:
Fehler beim Senden von Meldungen: Berechtigung_Denied: Berechtigung verweigert
Das bettelte das Betteln, da ich einige Regeln in der Datenbank ändern musste, aber ich habe jede mögliche Regel auf der Erde 6 Stunden lang ausprobiert und funktioniert immer noch nicht! < /p>
Aktuelle Regeln: < /p>
Ich versuche also, eine Chat-App mit FireBase (leider) Echtzeit-DB zu erstellen, aber ich erhalte Fehler: Fehler beim Senden von Meldungen: Berechtigung_Denied: Berechtigung verweigert Das bettelte das Betteln, da ich einige Regeln in der Datenbank ändern musste, aber ich habe jede mögliche Regel auf der Erde 6 Stunden lang ausprobiert und funktioniert immer noch nicht! < /p> Aktuelle Regeln: < /p> [code]{ "rules": { "chats": { "$chatId": { ".read": "auth != null", ".write": "auth != null" } } } } [/code] //chatComponent [code]import { database, auth } from '../../../firebaseConfig'; import { ref, onValue, push } from 'firebase/database'; import { useLocalSearchParams, useRouter } from 'expo-router'; import { MaterialIcons } from '@expo/vector-icons'; import { useNetInfo } from '@react-native-community/netinfo'; import { useUser } from '@clerk/clerk-expo'; import { signInWithCustomToken } from 'firebase/auth'; const ChatScreen = () => { const { user } = useUser(); // Get Clerk user const { buyerId, sellerId, shopData, sellerStatus } = useLocalSearchParams(); const [messages, setMessages] = useState([]); const [newMessage, setNewMessage] = useState(''); const router = useRouter(); const netInfo = useNetInfo(); const isConnected = netInfo?.isConnected;
useEffect(() => { if (!user || !user.session) return; // If user is not authenticated, do nothing
// Get Clerk session and retrieve token const getClerkJwtToken = async () => { try { // Directly access Clerk's session const session = user.session; // Get Clerk session directly const token = session?.access_token; // Get the token from the session console.log('Clerk user:', user); const clerkToken = await user.getToken(); console.log('Clerk Token:', clerkToken);
if (!token) { Alert.alert('Error', 'Failed to retrieve Clerk token'); return; }
// Sign in with the token to Firebase Authentication await signInWithCustomToken(auth, token); // Sign in to Firebase console.log("Firebase user authenticated with Clerk JWT");
} catch (error) { console.error("Error linking Clerk with Firebase", error.message); Alert.alert('Error', 'Failed to authenticate with Firebase'); } };
getClerkJwtToken(); // Call the function to authenticate with Firebase
Ich arbeite an einem Android-Projekt und habe die Firebase Realtime Database erfolgreich integriert. Um zu testen, ob die Daten in der Datenbank gespeichert werden, habe ich den folgenden Code...
Ich schreibe in der Echtzeitdatenbank mit der Funktion push () funktion
Die Function ordnet die Eingangsdaten in chronologischer Reihenfolge, aber es nicht, und es ordnet die Daten in numerischer...
Ich habe versucht, eine einfache Nachricht in die Echtzeitdatenbank zu schreiben. Wenn ich mein Code zum ersten Mal ausführe, kann nichts daran geschrieben werden. 3 Tage später, als ich den Code...
Mein Projekt ist ein mobiles Projekt, das mit Unity mit Firebase gebaut wurde. Mir ist aufgefallen, dass selbst wenn ich die App lösche und sie von AppStore neu herunterladen kann, meine...
Ich habe eine FireBase -Datenbank, die mit bis zu zwei Apps verknüpft ist. Eine eine iOS -App und eine andere, die in node.js codiert ist und ein grundlegender Algorithmus ist, der Daten in die...