{"id":24763424,"url":"https://github.com/python-gino/gapp-login","last_synced_at":"2025-10-11T10:31:22.097Z","repository":{"id":74916829,"uuid":"270061294","full_name":"python-gino/gapp-login","owner":"python-gino","description":"GINO App extension to support multiple login providers.","archived":true,"fork":false,"pushed_at":"2020-11-17T06:44:39.000Z","size":249,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-23T14:35:48.750Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-gino.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}},"created_at":"2020-06-06T18:01:13.000Z","updated_at":"2023-08-17T01:22:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"1207e79c-0233-4c99-aa7e-e69416ef83ea","html_url":"https://github.com/python-gino/gapp-login","commit_stats":null,"previous_names":["python-gino/gapp-login"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/python-gino/gapp-login","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-gino%2Fgapp-login","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-gino%2Fgapp-login/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-gino%2Fgapp-login/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-gino%2Fgapp-login/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-gino","download_url":"https://codeload.github.com/python-gino/gapp-login/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-gino%2Fgapp-login/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006846,"owners_count":26084206,"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","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"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":[],"created_at":"2025-01-28T20:28:54.283Z","updated_at":"2025-10-11T10:31:22.092Z","avatar_url":"https://github.com/python-gino.png","language":"Python","readme":"# gapp-login\n\nGINO App extension to support multiple login providers.\n\n\n## SMS Login\n\n![SMS Login](images/sms.png)\n\nTest SMS Login with Swagger-UI.\n\n1. Click \"Authorize\" in Swagger-UI.\n2. In the popup, check `openid` scope.\n3. Click \"Authorize\", a link is shown in a new tab, don't follow the link.\n4. In the new tab, append `\u0026prompt=json` to the URL in the address bar, hit ENTER and\n   you'll get a JSON.\n5. Copy the value of the `context` into clipboard, this is a JWT token as the login\n   context.\n6. In the same new tab, browse to Swagger-UI again.\n7. Try out `POST /login/sms`, use the copied value as `token`, use `+86` for prefix,\n   and any mobile number.\n8. Hit \"Execute\", find the SMS ID in the result.\n9. Try out `PUT /login/sms/{sms_id}`, use the previous SMS ID, the same token and\n   `code` found in the server-side debug log.\n10. Hit \"Execute\", it says \"Method Not Allowed\", that's okay.\n11. Find the actual redirect URL in the server-side log, paste it into the address\n    bar of the same new tab, leave the host name and port as it is.\n12. Hit ENTER and the new tab will be closed, with the original Swagger-UI logged in.\n\n\n## WeChat Login\n\n![WeChat Login](images/wechat.png)\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpython-gino%2Fgapp-login","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpython-gino%2Fgapp-login","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpython-gino%2Fgapp-login/lists"}