{"id":19573657,"url":"https://github.com/lailo/pwlessql","last_synced_at":"2025-10-28T15:07:10.766Z","repository":{"id":117717084,"uuid":"186149177","full_name":"lailo/pwlessql","owner":"lailo","description":"Passwordless auth using GraphQL API and Prisma.io","archived":false,"fork":false,"pushed_at":"2019-05-16T15:17:31.000Z","size":91,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-27T05:33:25.576Z","etag":null,"topics":["api","authentication","email","graphql","graphql-server","passwordless","passwordless-authentication","prisma"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/lailo.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}},"created_at":"2019-05-11T15:22:26.000Z","updated_at":"2023-02-10T08:17:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"830e340f-50b4-4fbf-9257-5f5600f8ab41","html_url":"https://github.com/lailo/pwlessql","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lailo/pwlessql","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lailo%2Fpwlessql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lailo%2Fpwlessql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lailo%2Fpwlessql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lailo%2Fpwlessql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lailo","download_url":"https://codeload.github.com/lailo/pwlessql/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lailo%2Fpwlessql/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281458097,"owners_count":26504888,"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-28T02:00:06.022Z","response_time":60,"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":["api","authentication","email","graphql","graphql-server","passwordless","passwordless-authentication","prisma"],"created_at":"2024-11-11T06:35:16.384Z","updated_at":"2025-10-28T15:07:10.745Z","avatar_url":"https://github.com/lailo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Passwordless Auth with GraphQL and Prisma\n\nAuthenticate Users without the need for a password, forgot-password and reset-password.\nLess code, less emails and less users leaving because of forgoten passwords.\nxw\n\n## Setup Development\n\n1. Copy `.env.template` to \".env\"\n2. Add your enpoint url to `prisma/primsa.yml`\n3. run `npm install`\n4. run `npm run db` to setup the the database, generate client and run seed\n5. start your server with \"npm run dev\"\n6. Open GraphQL Playground on `http://localhost:4000`\n\n## Setup Production\n\n1. just run `npm start`\n\n## Setup eMail Service\n\nNodeMailer is in use for now with `ethereal.email`.\nIf you want something else, just edit the `emails/sendEmail.js` and add your own settings / client\n\n## How does it work?\n\n### Signup\n\n1. Get `name` from email from the part before the `@` symbol\n2. Generate `slug` from `name`\n3. Create User\n4. Continue with **Login**\n\n### Login\n\n1. Create an `Auth` entry with `token' and the`email`\n   1.1. with UUID token\n   1.2. with email the messages it was sent to\n2. Generate a security to compare with the email (no fake emails)\n3. Click on link with `email` and `token`\n4. Check if\n   4.1. Auth entry with `token` exists\n   4.2. `email` is correct\n   4.3. the `createdAt` is not more then 1h ago\n5. Generate JWT with `userId`\n6. delete Auth entry\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flailo%2Fpwlessql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flailo%2Fpwlessql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flailo%2Fpwlessql/lists"}