{"id":18074395,"url":"https://github.com/headwinds/flask-dance-twitter-frontend","last_synced_at":"2026-03-19T03:10:32.015Z","repository":{"id":43604890,"uuid":"164480599","full_name":"headwinds/flask-dance-twitter-frontend","owner":"headwinds","description":"a working example of twitter authentication with flask and vuejs","archived":false,"fork":false,"pushed_at":"2022-12-30T05:00:19.000Z","size":5346,"stargazers_count":0,"open_issues_count":27,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-16T20:43:11.002Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Vue","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/headwinds.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-01-07T19:22:30.000Z","updated_at":"2019-01-13T17:25:46.000Z","dependencies_parsed_at":"2023-01-31T10:45:55.755Z","dependency_job_id":null,"html_url":"https://github.com/headwinds/flask-dance-twitter-frontend","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/headwinds/flask-dance-twitter-frontend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/headwinds%2Fflask-dance-twitter-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/headwinds%2Fflask-dance-twitter-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/headwinds%2Fflask-dance-twitter-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/headwinds%2Fflask-dance-twitter-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/headwinds","download_url":"https://codeload.github.com/headwinds/flask-dance-twitter-frontend/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/headwinds%2Fflask-dance-twitter-frontend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29416040,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T06:24:03.484Z","status":"ssl_error","status_checked_at":"2026-02-13T06:23:12.830Z","response_time":78,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":[],"created_at":"2024-10-31T10:12:28.781Z","updated_at":"2026-02-13T20:01:58.817Z","avatar_url":"https://github.com/headwinds.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tech\r\n* Python, flask \u0026 flask-dance\r\n* VueJS \u0026 Nuxt \r\n* Twitter Auth \r\n\r\n## Demo\r\n\r\nAn example of how to Signin with Twitter using VueJS and Python's flask.\r\n\r\nStep 1 - The user clicks Signin with Twitter.\r\n\r\n![Alt text](signin.png?raw=true) \r\n\r\n[https://probe.now.sh](https://probe.now.sh)\r\n\r\n## Getting Started\r\n\r\n### Build the Vue \r\n\r\nThis will create a dist directory with the all static content and will automatically copy the built folder into python folder via gulp.\r\n\r\nPlease edit the gulpfile in the vue folder.\r\n\r\n```\r\nyarn build\r\n```\r\n\r\n### Build the Python \r\n\r\n```\r\npip install -r requirements.txt\r\npython run.py\r\n```\r\n\r\nOpen to http://127.0.0.1:5000 not localhost:5000 or 0.0.0.0:5000!\r\n\r\n### Deploy as a Docker\r\n\r\n```\r\ndocker build -t probe .\r\ndocker run -p 5000:5000 probe\r\n```\r\n\r\nTo see that the docker is running: `docker image ls`\r\n\r\nFor this example, I'm using [zeit.co](https://zeit.co/) as the hosting company and you can simply deploy the project like so:\r\n\r\n```\r\nnow\r\n```\r\n\r\n## Twitter Settings\r\n\r\nThese are the callback urls I've used in my Twitter app settings to test locally and live. \r\n\r\n```\r\nhttp://127.0.0.1:5000/login/twitter/authorized\r\nhttps://probe.now.sh/login/twitter/authorized\r\n```\r\n\r\n## Saving the Twitter Token \r\n\r\nThis demo does not yet implement that [SQL backend recommended by flask-dance](https://flask-dance.readthedocs.io/en/latest/backends.html#sqlalchemy) where you should save the authorization token in database so that the user does not need to authorization again when they return to the app after their flask session has expired. \r\n\r\n# Credit \r\n\r\n* [flask-dance](https://github.com/singingwolfboy/flask-dance)\r\n* [flask-vuejs-template](https://github.com/gtalarico/flask-vuejs-template)\r\n\r\n![Alt text](probe.jpg?raw=true)  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheadwinds%2Fflask-dance-twitter-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheadwinds%2Fflask-dance-twitter-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheadwinds%2Fflask-dance-twitter-frontend/lists"}