FirebaseLuau

FirebaseLuau Issue Tracking FirebaseLuau Commits

FirebaseLuau

Promise based library for accessing Firebase services from within Roblox. Currently this project only has support for Firestore.

Setup

Authentication is done through Firebase's Authentication service using a normal email/password provider. This is not your actual email or password. Once an account is created update your rules to allow this account read/write permissions on any services you need.

A simple example of a rule is allowing only the UID of the account to read and write.

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null && request.auth.uid == "kaTY7zQKbkZsjvlkv2Hu6KQhRf02";
    }
  }
}

Example

local Firebase = require("FirebaseLuau")
local firebase = Firebase.init({
    ProjectId = "PROJECT_ID",
    APIKey = "WEB_API_KEY",
    Email = "EMAIL",
    Password = "PASSWORD"
})

local usersCollection = firebase.Firestore:GetCollection("users")
local userDoc = usersCollection:GetDoc("72938051") -- OR firebase.Firestore:GetDoc("users/72938051")

userDoc:Write({
    gold = 100,
}):await()

print(userDoc:Read():expect())