{"id":22449484,"url":"https://github.com/ralitsaterzieva/with-custom-auth","last_synced_at":"2026-05-15T12:32:57.266Z","repository":{"id":262969510,"uuid":"888928804","full_name":"RalitsaTerzieva/with-custom-auth","owner":"RalitsaTerzieva","description":"Next.js based application","archived":false,"fork":false,"pushed_at":"2024-11-15T15:19:12.000Z","size":241,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-23T05:43:41.763Z","etag":null,"topics":["authentication","cookie","custom-authentication","jsonwebtoken","nextjs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/RalitsaTerzieva.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,"zenodo":null}},"created_at":"2024-11-15T09:22:43.000Z","updated_at":"2024-11-15T15:19:15.000Z","dependencies_parsed_at":"2024-11-15T10:36:44.307Z","dependency_job_id":"439376d9-07d1-4eb8-b710-4b8dfd141db6","html_url":"https://github.com/RalitsaTerzieva/with-custom-auth","commit_stats":null,"previous_names":["ralitsaterzieva/with-custom-auth"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RalitsaTerzieva/with-custom-auth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RalitsaTerzieva%2Fwith-custom-auth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RalitsaTerzieva%2Fwith-custom-auth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RalitsaTerzieva%2Fwith-custom-auth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RalitsaTerzieva%2Fwith-custom-auth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RalitsaTerzieva","download_url":"https://codeload.github.com/RalitsaTerzieva/with-custom-auth/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RalitsaTerzieva%2Fwith-custom-auth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33067253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"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":["authentication","cookie","custom-authentication","jsonwebtoken","nextjs"],"created_at":"2024-12-06T05:09:34.414Z","updated_at":"2026-05-15T12:32:57.244Z","avatar_url":"https://github.com/RalitsaTerzieva.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## with-custom-auth project\n\nA project that demonstrates how to build custom authentication using Next.js. This project follows the steps provided in the book \"Real World Next.js\" by Michele Riva. The primary goal is to understand the underlying logic behind custom authentication.\n\nDisclaimer: Custom authentication is not recommended for production applications. It is better to rely on well-established tools and libraries for authentication (e.g., Firebase, Auth0, NextAuth.js) for security and scalability. This project is for educational purposes only.\n\n\n## 📚 About the Project\n\nIn modern web development, authentication is a critical component of any application. While numerous tools simplify this process, understanding the core logic of authentication helps developers grasp:\n\nHow authentication works under the hood.\nCommon pitfalls and challenges when handling user authentication.\nSecurity considerations in real-world applications.\nThis project walks through building a basic custom authentication system using Next.js, inspired by the lessons in Real World Next.js. It is not intended for production use but as a stepping stone to learning.\n\n## ⚠️ Disclaimer\nThis project is purely for educational purposes. Using custom authentication in production environments poses significant risks, including:\n\nSecurity vulnerabilities (e.g., improper token handling, lack of encryption).\nMaintenance challenges compared to established libraries.\nScalability issues as your application grows.\nFor production, consider using trusted solutions like:\n\n- NextAuth.js\n- Auth0\n- Firebase Authentication\n\n## Getting Started\n\nFirst, run the development server:\n\n```bash\nnpm run dev\n# or\nyarn dev\n# or\npnpm dev\n# or\nbun dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\nYou can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.\n\n[API routes](https://nextjs.org/docs/pages/building-your-application/routing/api-routes) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.\n\nThe `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/pages/building-your-application/routing/api-routes) instead of React pages.\n\nThis project uses [`next/font`](https://nextjs.org/docs/pages/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.\n\n## Learn More\n\nTo learn more about Next.js, take a look at the following resources:\n\n- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.\n- [Learn Next.js](https://nextjs.org/learn-pages-router) - an interactive Next.js tutorial.\n\nYou can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!\n\n## Deploy on Vercel\n\nThe easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template\u0026filter=next.js\u0026utm_source=create-next-app\u0026utm_campaign=create-next-app-readme) from the creators of Next.js.\n\nCheck out our [Next.js deployment documentation](https://nextjs.org/docs/pages/building-your-application/deploying) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fralitsaterzieva%2Fwith-custom-auth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fralitsaterzieva%2Fwith-custom-auth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fralitsaterzieva%2Fwith-custom-auth/lists"}