{"id":22185069,"url":"https://github.com/chientrm/firebase-verifier","last_synced_at":"2026-02-25T02:33:36.767Z","repository":{"id":145932615,"uuid":"617751431","full_name":"chientrm/firebase-verifier","owner":"chientrm","description":"Expressjs Middleware for firebase authentication and app check when you don't want to install firebase admin sdk","archived":false,"fork":false,"pushed_at":"2025-02-10T18:22:22.000Z","size":91,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-01T03:51:36.166Z","etag":null,"topics":["firebase","firebase-app-check","firebase-auth","jwt","verification"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chientrm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-03-23T03:00:45.000Z","updated_at":"2023-04-08T02:38:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"80801e6a-a409-49fe-b41c-0b63576f4873","html_url":"https://github.com/chientrm/firebase-verifier","commit_stats":{"total_commits":48,"total_committers":4,"mean_commits":12.0,"dds":0.6041666666666667,"last_synced_commit":"a9374ec736b0c587df41efd84bdd808c7b77d33f"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/chientrm/firebase-verifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chientrm%2Ffirebase-verifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chientrm%2Ffirebase-verifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chientrm%2Ffirebase-verifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chientrm%2Ffirebase-verifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chientrm","download_url":"https://codeload.github.com/chientrm/firebase-verifier/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chientrm%2Ffirebase-verifier/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29809086,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T22:43:48.403Z","status":"online","status_checked_at":"2026-02-25T02:00:07.329Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["firebase","firebase-app-check","firebase-auth","jwt","verification"],"created_at":"2024-12-02T10:14:58.096Z","updated_at":"2026-02-25T02:33:36.741Z","avatar_url":"https://github.com/chientrm.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `firebase-verifier` middleware for `expressjs`\n\n[![ci](https://github.com/chientrm/firebase-verifier/actions/workflows/ci.yml/badge.svg)](https://github.com/chientrm/firebase-verifier/actions/workflows/ci.yml)\n[![Commit](https://img.shields.io/github/commit-activity/m/chientrm/firebase-verifier)](https://img.shields.io/github/commit-activity/m/chientrm/firebase-verifier)\n[![Languages](https://img.shields.io/github/languages/top/chientrm/firebase-verifier)](https://github.com/trending/javascript)\n[![Discord](https://img.shields.io/discord/925391810472329276?logo=discord)](https://discord.gg/HMMtp3dTPh)\n[![Dependencies](https://img.shields.io/depfu/chientrm/firebase-verifier)](https://depfu.com/repos/github/chientrm/firebase-verifier)\n[![Repo size](https://img.shields.io/github/repo-size/chientrm/firebase-verifier)](https://github.com/chientrm/firebase-verifier)\n[![Download](https://img.shields.io/npm/dt/firebase-verifier)](https://www.npmjs.com/package/firebase-verifier)\n[![Sponsors](https://img.shields.io/github/sponsors/chientrm)](https://github.com/chientrm)\n[![Issues](https://img.shields.io/github/issues/chientrm/firebase-verifier)](https://github.com/chientrm/firebase-verifier/issues)\n[![License](https://img.shields.io/npm/l/firebase-verifier)](https://github.com/chientrm/firebase-verifier/blob/main/LICENSE)\n[![Version](https://img.shields.io/github/package-json/v/chientrm/firebase-verifier)](https://github.com/chientrm/firebase-verifier)\n[![Contributors](https://img.shields.io/npm/v/firebase-verifier)](https://www.npmjs.com/package/firebase-verifier)\n[![Contributors](https://img.shields.io/github/contributors/chientrm/firebase-verifier)](https://github.com/chientrm/firebase-verifier/graphs/contributors)\n\nWhen you don't want to install `firebase-admin-sdk` just to verify `id token` and/or `app check token`.\n\n## Install\n\n```sh\nnpm install firebase-verifier\n```\n\n## Configs\n\nObtains `project_id` and `project_no` from [Google Cloud Console](https://console.cloud.google.com)\n\n## Usage\n\n```ts\nimport express from \"express\";\nimport {\n  authVerifier,\n  appCheckVerifier,\n  firebaseVerifier,\n} from \"firebase-verifier\";\n\nconst project_id = \"\u003cproject_id\u003e\";\nconst project_no = \"\u003cproject_no\u003e\";\n\nconst app = express();\n\n// Verify Id token\napp.use(authVerifier(project_id));\napp.get(\"/\", (req, res) =\u003e {\n  console.log(res.locals.user);\n  /* Output\n    {\n      \"sub\": \"kxljssoieeJKLe\",\n      \"email\": \"chientrm@gmail.com\",\n      ...\n    }\n  */\n});\n\n...\n\n// Verify App Check token\napp.use(appCheckVerifier(project_no));\napp.get(\"/\", (req, res) =\u003e {\n  console.log(res.locals.device);\n  /* Output\n    {\n      ...\n    }\n  */\n});\n\n...\n\n// Verify both Id token and App Check token\napp.use(firebaseVerifier({ project_id, project_no }));\napp.get(\"/\", (req, res) =\u003e {\n  console.log(res.locals.user);\n  console.log(res.locals.device);\n});\n\napp.listen(3000);\n```\n\n## Check verification\n\nIf any of the verifiers failed, `res.locals.user`, `res.locals.device` are null and `res.locals.error` contains the error.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchientrm%2Ffirebase-verifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchientrm%2Ffirebase-verifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchientrm%2Ffirebase-verifier/lists"}