{"id":14007237,"url":"https://github.com/clerk/clerk-firebase-starter","last_synced_at":"2025-07-24T01:31:09.551Z","repository":{"id":104053021,"uuid":"379966434","full_name":"clerk/clerk-firebase-starter","owner":"clerk","description":"Official guide on how to use Clerk.dev with Firebase","archived":true,"fork":false,"pushed_at":"2022-03-28T15:23:22.000Z","size":670,"stargazers_count":13,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-08-10T10:04:05.161Z","etag":null,"topics":["authentication","clerk","firebase","react"],"latest_commit_sha":null,"homepage":"https://fir-clerk.web.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clerk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-06-24T15:12:19.000Z","updated_at":"2024-08-09T23:00:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"f8eae9ae-c36d-43f4-88b3-6061feda7afc","html_url":"https://github.com/clerk/clerk-firebase-starter","commit_stats":null,"previous_names":["clerk/clerk-firebase-starter"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clerk%2Fclerk-firebase-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clerk%2Fclerk-firebase-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clerk%2Fclerk-firebase-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clerk%2Fclerk-firebase-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clerk","download_url":"https://codeload.github.com/clerk/clerk-firebase-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227384189,"owners_count":17772330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","clerk","firebase","react"],"created_at":"2024-08-10T10:01:55.997Z","updated_at":"2024-11-30T17:32:22.166Z","avatar_url":"https://github.com/clerk.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Clerk - Firebase example repo\n\n\u003cimg src=\"./docs/logo.png\" /\u003e\n\nThis repo shows an example use case for how you can setup Firebase with [Clerk](https://clerk.dev) as a custom authentication provider.\n\n[![Open in VS Code](https://open.vscode.dev/badges/open-in-vscode.svg)](https://open.vscode.dev/clerkinc/clerk-firebase-starter)\n\n## Premium Recipes App\n\nThe **Premium Recipes App** allows only authenticated users to add their favorite recipes on the site to be shared with all other logged in members.\n\nThe app is live at https://fir-clerk.web.app/. Check it out!\n\n\u003cimg src=\"./docs/show.png\"/\u003e\n\n## Under the hood\n\nThis example app uses:\n\n- [Clerk](https://clerk.dev) as an authentication provider.\n- [Cloud Firestore](https://firebase.google.com/products/firestore) for data storage.\n\nReading the `/recipes` collection is only possible for authenticated users based on Firebase rules.\n\n## Where the magic happens\n\nThe Clerk integration works by providing a custom authentication token to the Firebase `signInWithCustomToken` auth method. The only thing you need to do on the application level can be seen at [the useRecipes file](./client/hooks/useRecipes.ts#16).\n\nTo get a better understanding of the integration, you can check out our [documentation](https://docs.clerk.dev/frontend/integrations/firebase) on the integration.\n\n## Running the starter\n\nTo run the example locally you need to:\n\n1. Sign up for a Clerk account at http://clerk.dev/.\n2. Turn on and [configure the integration](https://docs.clerk.dev/frontend/integrations/firebase) on your Clerk dashboard.\n3. Setup the required Clerk Frontend API variable from your Clerk project as shown at [the example env file](./.env.example).\n4. Replace the Firebase [configuration file](./config/firebase.web.ts) with you own project settings file.\n5. Check the instructions on how to setup your Firebase project for a similar setup at the specific [setup document](./docs/firebase_setup.md).\n6. `yarn` to install the required dependencies.\n7. `yarn dev` and you are good to go.\n\n## Contact\n\nIf you have any specific use case or anything you would like to ask, please reach out!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclerk%2Fclerk-firebase-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclerk%2Fclerk-firebase-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclerk%2Fclerk-firebase-starter/lists"}