{"id":28085779,"url":"https://github.com/codeperfectplus/flask-jwt-api","last_synced_at":"2026-05-01T04:39:11.600Z","repository":{"id":166213704,"uuid":"361720384","full_name":"codeperfectplus/Flask-JWT-API","owner":"codeperfectplus","description":"Flask API todo using JWT token","archived":false,"fork":false,"pushed_at":"2021-04-27T08:07:16.000Z","size":28,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-13T10:50:51.576Z","etag":null,"topics":["flask","flask-api","flask-marshmallow","flask-sqlalchemy","jwt","jwt-authentication","jwt-token","password-hashing"],"latest_commit_sha":null,"homepage":"","language":"Python","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/codeperfectplus.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":"2021-04-26T11:12:01.000Z","updated_at":"2024-06-08T08:46:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"4b0f5a91-6ef5-4c74-bd6e-5d6caccdec72","html_url":"https://github.com/codeperfectplus/Flask-JWT-API","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codeperfectplus/Flask-JWT-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeperfectplus%2FFlask-JWT-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeperfectplus%2FFlask-JWT-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeperfectplus%2FFlask-JWT-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeperfectplus%2FFlask-JWT-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codeperfectplus","download_url":"https://codeload.github.com/codeperfectplus/Flask-JWT-API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeperfectplus%2FFlask-JWT-API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32485297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"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":["flask","flask-api","flask-marshmallow","flask-sqlalchemy","jwt","jwt-authentication","jwt-token","password-hashing"],"created_at":"2025-05-13T10:42:48.523Z","updated_at":"2026-05-01T04:39:11.596Z","avatar_url":"https://github.com/codeperfectplus.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flask-JWT-API\n\nFlask API using JWT token\n\n## Flask User Api using JWT\n\n## Usages\n\n- Basic-authentication + x-access-token\n- User can signup/create x-access-token and use todo api\n- User have no access to User class\n- Admin Can do `CRUD` operations on Users, Todo\n- Password will saved as hased password\n- User Can generate the X-access-token for get/post todo api\n\n## Documentation\n\n- Install all the dependencies\n\n```bash\npython -m pip install -r requirements.txt\n```\n\n- Add environment varibale and in `.env.example` and save as it `.env`.\n\n  - DATABASE_URL\n  - SECRET_KEY\n\n- Load Environment variable\n\n```bash\n# linux\n\u003e export FLASK_APP=manage\n\u003e export FLASK_ENV=development\n```\n\n```cmd\n# windows powershell\n\u003e $env:FLASK_APP=manage\n\u003e $env:FLASK_ENV=development\n```\n\nGet more details about the flask env check docs [here](https://flask.palletsprojects.com/en/1.1.x/cli/)\n\n- Migrate the database\n\n```bash\n\u003e flask db init\n\u003e flask db migrate -m \"Initial migration.\"\n\u003e flask db upgrade\n```\n\n- Run the server\n\n```bash\nflask run\n```\n\n- Create a admin user on `url/user`. Give admin access using sql query\n    \u003c  Admin access need to perform admin level task such as deleting/upgrading user.\n\n```json\n{\n    \"username\": \"admin\",\n    \"password\": \"admin\",\n}\n```\n\n- Get `x-access-token` on `url/login`\n\n```json\n{\n    \"username\": \"admin\",\n    \"password\": \"admin\",\n}\n```\n\n- Perform All other operations using the jwt tokens.\n- Todo Operations can done with x-access-token\n\n## Example\n\n```python\nimport requests\n\nheaders = {\n\"x-access-token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6ImFkbWluIn0.vrCzbqJLbP8wejP_ZE1hi2U3bSlRwF2rln02J0qmc9A\"}\n\nurl = \"http://127.0.0.1:5000/user\"\n\njson = { \"todo_name\": \"Complete\" }\n\n#response = requests.get(url,headers=headers)\nresponse = requests.post(url, json=json, headers=headers)\nprint(response.text)\n```\n\n## Upcoming Change in Repo\n\n- Api limiter\n- Blog API\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeperfectplus%2Fflask-jwt-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodeperfectplus%2Fflask-jwt-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeperfectplus%2Fflask-jwt-api/lists"}