6

Tôi nhận được (trên Android):Mây FireStore: Thiếu hoặc không đủ quyền

com.google.firebase.firestore.FirebaseFirestoreException: PERMISSION_DENIED: Thiếu hoặc không đủ quyền

sử dụng các an ninh quy tắc:

service cloud.firestore { 
    match /databases/{database}/documents { 
    match /{document=**} { 
     allow read, write: if request.auth != null; 
    } 
    } 
} 

Ứng dụng của tôi có vẻ được xác thực chính xác bằng cách sử dụng FirebaseAuth, khi số mFirebaseAuth.getCurrentUser().getUid() trả về ID người dùng thích hợp.

Có điều gì tôi đang làm sai?

+1

Điều đó cũng đang xảy ra với tôi. Cho đến ngày hôm qua tất cả mọi thứ đã làm việc tìm thấy, nhưng kể từ ngày hôm nay nó giữ trở lại lỗi cho phép. Tôi đã kiểm tra các quy tắc bảo mật của mình và không có gì sai. Các hành vi kỳ lạ là nó hoạt động đôi khi, và nó không hoạt động đôi khi với chính xác cùng một mã. Bạn đã khắc phục được sự cố chưa? – wonsuc

+0

Điều này thỉnh thoảng xảy ra trên web và phản ứng gốc (firebase-ios-sdk). Vấn đề nên được trong firestore và không phải trên sdk khách hàng. – sowdri

Trả lời

0

Có vẻ như đó là sự cố Firestore (trong bản beta hôm nay), không phải ở phía khách hàng.

1

Tôi đã hỏi nhóm hỗ trợ Firebase trực tiếp vì vấn đề này quan trọng đối với dịch vụ của chúng tôi và tôi đã nhận được email bên dưới. Có vẻ như họ đã sửa lỗi này ngay bây giờ.

Vui lòng cho tôi biết nếu sự cố xảy ra lần nữa.

Chào bạn,

Chúng tôi vừa khẳng định với các kỹ sư của chúng tôi rằng vấn đề lẻ tẻ này với Quy định an toàn của chúng tôi cho FireStore là một lỗi được biết đến nhưng đã là cố định ngày hôm nay. Vui lòng kiểm tra lại các quy tắc bảo mật của bạn và cho chúng tôi biết nếu bạn vẫn gặp sự cố.

Kính trọng, Kevin

2

Edit: chỉ muốn nói rằng tôi quản lý để khắc phục vấn đề bằng cách hạ thấp đến 4.6.2. Tôi có nhiều chi tiết trong this post

Pre-edit: này đang xảy ra với tôi kể từ khi tôi nâng cấp phản ứng tự nhiên và tôi có thể không cho cuộc sống của tôi ra vấn đề. Tôi đã sửa lỗi nó và người dùng của tôi chắc chắn được xác thực tại thời điểm yêu cầu, tôi đã kiểm tra điều này bằng cách chạy dưới đây và tôi có một uid trong đó

firebase.auth().currentUser 

Vì vậy, điều tiếp theo tôi muốn làm là kiểm tra phiên trong yêu cầu thực tế để xem điều gì đang xảy ra. Tôi đã thêm một đoạn mã vào điểm vào của ứng dụng phản ứng của tôi

XMLHttpRequest = GLOBAL.originalXMLHttpRequest ? 
GLOBAL.originalXMLHttpRequest : 
GLOBAL.XMLHttpRequest 

và khi tôi chạy mã này, nó hoạt động lại một cách kỳ diệu. Đây là yêu cầu ủy quyền thông qua trình duyệt mặc dù có lẽ không phải là một thử nghiệm thực sự.

Vì vậy, sau đó tôi bắt đầu lên Charles và so sánh các yêu cầu về xây dựng bản địa phản ứng mới của tôi với bản dựng phản ứng bản địa cũ của tôi [làm việc]. Các yêu cầu trông giống với tôi mặc dù (ngoài một sessionId khác nhau) vì vậy tôi không có ý tưởng. Điều bực bội là thiếu các công cụ gỡ lỗi thông qua giao diện điều khiển firestore.

Đường ruột của tôi là để nói rằng một số tiêu đề xác thực đã hết hạn/được lưu vào bộ nhớ cache và không bị tiêu diệt.Đập đầu vào bàn tại thời điểm này

Các vấn đề liên quan