FirebaseAuthPro advanced Firebase authentication extension

FirebaseAuthPro: Advanced Firebase Authentication Extension


Version: 1.0.1

Category: Extension

Visibility: Non-Visible

Developer: Idriss


🔹 Overview

FirebaseAuthPro is a **powerful authentication extension** for Kodular, allowing you to easily integrate Firebase Authentication into your app. It provides **sign-in, sign-up, anonymous login, user profile updates, email verification, password reset, account deletion, logout functionality, and offline data storage** for enhanced user management.


âś… Key Features

  • 🔑 Sign In & Sign Up: Authenticate users using email and password.
  • 👤 Anonymous Sign-In: Allow users to log in without an email/password.
  • 📊 Retrieve User Data: Fetch user info such as email, display name, and photo.
  • ✉️ Email Verification: Send email confirmation links.
  • 🔄 Password Reset: Send password reset emails.
  • đź”§ Profile Management: Update user display name and photo URL.
  • 🗑️ Account Deletion: Permanently remove user accounts.
  • 🔓 Logout: Clear all stored user credentials.
  • 📡 Offline Mode: Store and retrieve user credentials even when offline.

🛠️ Functions & Usage

:small_blue_diamond: Authentication Functions:

  • SignIn(email, password) – Logs in a user with email and password.
  • SignUp(email, password) – Registers a new user with email and password.
  • SignInAnonymously() – Allows anonymous sign-in (defaults email to "anonymous").

:small_blue_diamond: User Management:

  • GetUserData(idToken) – Retrieves user data using an authentication token.
  • UpdateProfile(idToken, displayName, photoUrl) – Updates the user profile.
  • ChangeEmail(idToken, newEmail) – Changes the user’s email.
  • ChangePassword(idToken, newPassword) – Changes the user’s password.

:small_blue_diamond: Email & Password Management:

  • SendEmailVerification(idToken) – Sends an email verification link.
  • SendPasswordResetEmail(email) – Sends a password reset email.
  • DeleteAccount(idToken) – Deletes the user account permanently.

:small_blue_diamond: Logout & Offline Mode:

  • Logout() – Clears all stored credentials and logs out the user.
  • GetStoredUserData() – Retrieves stored user credentials as JSON.
  • GetStoredEmail() – Retrieves the stored email.
  • GetStoredIdToken() – Retrieves the authentication token.
  • GetStoredRefreshToken() – Retrieves the refresh token.
  • GetStoredLocalId() – Retrieves the stored user ID.
  • GetStoredExpiresIn() – Retrieves the expiration time of the session.

📌 How It Works (Step-by-Step Guide)

  1. Step 1: Import the Firebase Authentication Extension (.AIX) into your Kodular project.
  2. Step 2: Set your API Key using the ApiKey property.
  3. Step 3: Authenticate users using SignIn(), SignUp(), or SignInAnonymously().
  4. Step 4: Retrieve user data with GetUserData(idToken).
  5. Step 5: Update profile info using UpdateProfile().
  6. Step 6: Retrieve stored user credentials with GetStoredUserData().
  7. Step 7: Call Logout() to clear stored data when the user logs out.

🛡️ Offline Mode & Data Storage

When a user signs in, their credentials are automatically stored. You can retrieve this data anytime, even offline.

To retrieve stored credentials:

GetStoredUserData()

To retrieve a specific data field:

  • GetStoredEmail() – Get user email.
  • GetStoredIdToken() – Get authentication token.
  • GetStoredLocalId() – Get Firebase user ID.

To clear all stored data and logout:

Logout()


đź”” Events & Error Handling

:white_check_mark: Success Events:

  • SignInSuccess(localId, email, idToken, refreshToken, expiresIn)
  • SignUpSuccess(localId, email, idToken, refreshToken, expiresIn)
  • AnonymousSignInSuccess(localId, email, idToken, refreshToken, expiresIn)

:cross_mark: Error Handling Events:

  • SignInError(errorMessage)
  • SignUpError(errorMessage)
  • AnonymousSignInError(errorMessage)
  • GetUserDataError(errorMessage)
  • ChangePasswordError(errorMessage)
  • ChangeEmailError(errorMessage)

🛠️ Troubleshooting & Common Issues

⚠️ "Invalid API Key" Error?
→ Ensure your ApiKey is correctly set from Firebase.

:warning: “User Not Found” Error?

→ The user must be registered before trying to sign in.

:warning: SignInAnonymously() not working?

→ Enable Anonymous Sign-In in Firebase Authentication settings.

:warning: Stored Data Not Retrieving?

→ Make sure the user has logged in before using GetStoredUserData().


🚀 Why Use This Extension?

✅ **Fast & Secure Authentication** with Firebase. ✅ **Offline Mode** – Store and access user credentials anytime. ✅ **Complete user management** (Sign in, Sign up, Logout, Update profile). ✅ **Supports Anonymous sign-in** and **email verification**.

🚀47 Blocks🚀

📥 Download & Documentation

đź”— Extension (.AIX):

FirebaseAuthPro.aix (27.0 KB)

Extension Support New Kodular Update

🎉 Enjoy using FirebaseAuthPro! Share your feedback & suggestions below. 🚀

⚠️Important Suggestion⚠️

I couldn't try extensions on all kinds of phones, but I would like anyone who has any problems to inform me so that I can update them.
5 Likes

Nice Extension.
Can we sign in by choosing Gmail account. without providing logging credentials?

1 Like

Yes, I will Add this options Inchellah :innocent:

2 Likes

Nice extension

1 Like

Can’t I send OTP to Mobile Numbers?

hi, how can i use the anonymous sign in ya?

I think this option ain’t here, it’s just mentioned. Lets try reaching the owner of the extension, maybe he can answer about that

1 Like

but there is a anonymous sign in blocks right?
image
i just don’t know this work as i got tested but doesn’t work like Google signin. :thinking:

First activate anonymous sign in firebase

1

2 Turn it on

3 Click save

4Make sure it show in your sign in providers

2 Likes

already done that and when i click the button to sign in anonymously nothing happen at FB side.
no record goes into Authentication.
am i missed some settings? :thinking:

Are you testing using companion or apk?

of course using apk

Phone number sign in implementation? :folded_hands:

2 Likes

Please Update It With Phone Number authentication.

1 Like

no verification link is receiving in email despite of successul status of verification link event

1 Like

Hello! Very nice extension. Thanks for your hard work.

I’m trying to Auth my app using anonymous SignIn, but everytime I execute it (from exported APK) I get “FirebaseError Access Denied”. My Firebase Realtime Database rules are these:

Firebase Realtime Database rules (JSON formatting is good, but forum editor destroys it)
{
“rules”: {
“bucketOne”: {
“$uid”: {
“.read”: “auth.uid === $uid”,
“.write”: “auth.uid === $uid”
}
},
“bucketTwo”: {
“.read”: “auth != null”,
“.write”: false
}
}
}

I’m using the Firebase Database component (native), the web API key from firebase, and the FirebaseAuthPro extension.

Here are the blocks I think could be relevant.



Thanks a whole lot for your time. I hope someone can help me please :smiley: