{"id":51111544,"url":"https://github.com/snarloff/next-auth","last_synced_at":"2026-06-24T18:01:44.942Z","repository":{"id":49615262,"uuid":"500190893","full_name":"Snarloff/next-auth","owner":"Snarloff","description":"Este é um projeto Next.js 12 que demonstra a autenticação com o provedor GitHub usando NextAuth.js e armazena dados e sessões no Prisma com o serviço MySQL da PlanetScale.","archived":false,"fork":false,"pushed_at":"2023-10-10T20:03:10.000Z","size":62,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-07-20T04:19:18.306Z","etag":null,"topics":["css","github-provider","next-auth","nextjs","prisma"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Snarloff.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}},"created_at":"2022-06-05T19:22:07.000Z","updated_at":"2023-10-12T22:37:20.000Z","dependencies_parsed_at":"2022-09-13T14:21:24.309Z","dependency_job_id":null,"html_url":"https://github.com/Snarloff/next-auth","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Snarloff/next-auth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snarloff%2Fnext-auth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snarloff%2Fnext-auth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snarloff%2Fnext-auth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snarloff%2Fnext-auth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Snarloff","download_url":"https://codeload.github.com/Snarloff/next-auth/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Snarloff%2Fnext-auth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34743466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"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":["css","github-provider","next-auth","nextjs","prisma"],"created_at":"2026-06-24T18:01:43.886Z","updated_at":"2026-06-24T18:01:44.930Z","avatar_url":"https://github.com/Snarloff.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Projeto Next.js 12 com Autenticação GitHub e Prisma\n\nEste é um projeto Next.js 12 que demonstra a autenticação com o provedor GitHub usando NextAuth.js e armazena dados e sessões no Prisma com o serviço MySQL da PlanetScale.\n\n## Visão Geral\n\nEste projeto inclui as seguintes funcionalidades:\n\n- Autenticação de usuário com o provedor GitHub usando NextAuth.js.\n- Armazenamento de dados de usuário em um banco de dados MySQL hospedado no serviço PlanetScale.\n- Uso de Prisma como ORM para interagir com o banco de dados.\n- Tela de login simples.\n\n## Tecnologias Utilizadas\n\n- [Next.js 12](https://nextjs.org/): Framework de React para renderização do lado do servidor.\n- [NextAuth.js](https://next-auth.js.org/): Biblioteca de autenticação para Next.js.\n- [Prisma](https://www.prisma.io/): ORM (Object-Relational Mapping) para interagir com o banco de dados.\n- [PlanetScale](https://www.planetscale.com/): Serviço de hospedagem de banco de dados MySQL escalável.\n\n## Instalação e Configuração\n\nCertifique-se de ter o Node.js e o MySQL instalados na sua máquina. Em seguida, siga os passos abaixo:\n\n1. Clone este repositório:\n\n   ```shell\n   git clone https://github.com/Snarloff/next-auth.git\n   ```\n\n2. Navegue até o diretório do projeto:\n\n   ```shell\n   cd nome-do-repositorio\n   ```\n\n3. Instale as dependências:\n\n   ```shell\n   npm install\n   ```\n\n4. Crie um arquivo `.env.local` na raiz do projeto e configure as variáveis de ambiente necessárias:\n\n   ```env\n   GITHUB_ID=seu-client-id-do-GitHub\n   GITHUB_SECRET=seu-client-secret-do-GitHub\n   NEXTAUTH_SECRET=seu-segredo-do-NextAuth\n   DATABASE_URL=sua-url-do-banco-de-dados-PlanetScale\n   ```\n\n5. Configure o arquivo `prisma/schema.prisma` para definir o modelo de dados e a conexão com o banco de dados MySQL da PlanetScale.\n\n6. Execute as migrações do Prisma para criar as tabelas do banco de dados:\n\n   ```shell\n   npx prisma db push\n   ```\n\n7. Inicie o servidor de desenvolvimento:\n\n   ```shell\n   npm run dev\n   ```\n\n8. Acesse a aplicação em seu navegador em `http://localhost:3000`.\n\n## Middleware de Acesso\n\nEste projeto inclui um middleware de acesso que pode ser configurado em rotas específicas para verificar se o usuário está autenticado antes de permitir o acesso. Você pode adicionar o middleware nas rotas conforme necessário.\n\nExemplo de uso:\n\n```javascript\nimport { useSession } from 'next-auth/react'\n\nfunction MinhaRotaProtegida() {\n  const { data: session } = useSession()\n\n  if (!session) {\n    // Redirecionar ou mostrar uma mensagem de erro\n  }\n\n  // Renderizar o conteúdo da rota protegida\n}\n```\n\n## Contribuições\n\nContribuições são bem-vindas! Se você deseja contribuir para este projeto, siga as diretrizes de contribuição e envie um pull request.\n\n## Problemas e Sugestões\n\nSe você encontrar algum problema ou tiver sugestões para melhorar este projeto, por favor, abra uma issue neste repositório.\n\n## Licença\n\nEste projeto está sob a licença ISC.\n\n---\n\nAgradecemos por visitar este repositório e por seu interesse no projeto Next.js 12 com autenticação GitHub e Prisma com PlanetScale. Esperamos que este projeto seja útil e educativo para outros desenvolvedores interessados em criar aplicativos autenticados com NextAuth.js e armazenamento de dados no Prisma com MySQL.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnarloff%2Fnext-auth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnarloff%2Fnext-auth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnarloff%2Fnext-auth/lists"}