{"id":22316822,"url":"https://github.com/emvakar/fjwtmiddleware","last_synced_at":"2026-05-02T13:34:58.463Z","repository":{"id":176156674,"uuid":"618443049","full_name":"emvakar/FJWTMiddleware","owner":"emvakar","description":"FJWTMiddleware is middleware for server applications based on Vapor Framework. This project provides JSON Web Token (JWT) authentication using Firebase Authentication as the authentication provider.","archived":false,"fork":false,"pushed_at":"2023-06-17T20:53:35.000Z","size":14,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T03:29:29.174Z","etag":null,"topics":["authentication","firebase","jwt","server","server-side-swift","swift","vapor"],"latest_commit_sha":null,"homepage":"http://www.karimov.tech/fjwt","language":"Swift","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/emvakar.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-24T13:32:35.000Z","updated_at":"2023-12-06T21:07:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"cb75aac0-9938-482b-9821-3cbfaf7cc81b","html_url":"https://github.com/emvakar/FJWTMiddleware","commit_stats":null,"previous_names":["emvakar/fjwtmiddleware"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/emvakar/FJWTMiddleware","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emvakar%2FFJWTMiddleware","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emvakar%2FFJWTMiddleware/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emvakar%2FFJWTMiddleware/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emvakar%2FFJWTMiddleware/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emvakar","download_url":"https://codeload.github.com/emvakar/FJWTMiddleware/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emvakar%2FFJWTMiddleware/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32536579,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T12:25:33.646Z","status":"ssl_error","status_checked_at":"2026-05-02T12:24:51.733Z","response_time":132,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["authentication","firebase","jwt","server","server-side-swift","swift","vapor"],"created_at":"2024-12-03T23:07:57.860Z","updated_at":"2026-05-02T13:34:58.445Z","avatar_url":"https://github.com/emvakar.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FJWTMiddleware\nThis project is built upon an existing [vapor-firebase-jwt-middleware](https://github.com/barisatamer/vapor-firebase-jwt-middleware.git) repository, which has not been maintained for a long time and has not merged my pull requests. Due to this, I decided to create my own repository for this project, starting with the codebase of the unsupported one.\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"http://vapor.codes\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Vapor-4-F6CBCA.svg\" alt=\"Vapor Version\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://swift.org\"\u003e\n\u003cimg src=\"http://img.shields.io/badge/swift-5.7-brightgreen.svg\" alt=\"Swift 5.7\"\u003e\n\u003c/a\u003e\n\u003ca href=\"LICENSE\"\u003e\n\u003cimg src=\"http://img.shields.io/badge/license-MIT-brightgreen.svg\" alt=\"MIT License\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n## Description 🎧\n\nFJWTMiddleware is middleware for server applications based on Vapor Framework. This project provides JSON Web Token (JWT) authentication using Firebase Authentication as the authentication provider.\n\nTo use this middleware, you need to create a Firebase project and add its configuration data to the server settings. In addition, you need to configure routes in the Vapor application that will be protected by authentication, and then add the middleware to provide JWT verification.\n\nAfter successful JWT verification, the application can obtain user data from the token and use it for its purposes.\n\nThis project provides a ready-made solution for JWT authentication using Firebase, which simplifies the development of server applications based on Vapor Framework and reduces the time and effort required to implement an authentication system.\n\n## Installation 📦\n\nTo include it in your package, add the following to your `Package.swift` file.\n\n```swift\nlet package = Package(\n    name: \"Project\",\n    dependencies: [\n        ...\n        .package(name: \"FJWTMiddleware\", url: \"https://github.com/emvakar/vapor-fjwt-middleware.git\", from: \"1.0.0\"),\n        ],\n        targets: [\n            .target(name: \"App\", dependencies: [\n                .product(name: \"FJWTMiddleware\", package: \"FJWTMiddleware\"),\n                ... \n             ])\n        ]\n    )\n```\n\n## Usage 🚀\n1. **Configure Project ID**\n```swift\napp.firebaseJwt.applicationIdentifier = \u003cYOUR_FIREBASE_PROJECT_ID\u003e\n```\n2. **Import header files**\n\n```swift\nimport FJWTMiddleware\n```\n\n3. **Adding Middleware to a Routing Group**\n```swift\nlet group = router.grouped(FJWTMiddleware())\ngroup.get(\"welcome\") { req in\nreturn \"Hello, world!\"\n}\n```\n\n## References\n- [Verifying Firebase ID Tokens](https://firebase.google.com/docs/auth/admin/verify-id-tokens?authuser=1)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femvakar%2Ffjwtmiddleware","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femvakar%2Ffjwtmiddleware","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femvakar%2Ffjwtmiddleware/lists"}