{"id":23687549,"url":"https://github.com/jimcostdev/auth-fastapi","last_synced_at":"2025-07-19T23:34:13.024Z","repository":{"id":242866905,"uuid":"809849554","full_name":"JimcostDev/auth-fastapi","owner":"JimcostDev","description":"Estructura base para crear un sistema de autenticación con FastAPI","archived":false,"fork":false,"pushed_at":"2024-12-13T12:19:15.000Z","size":16,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-22T03:07:55.802Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JimcostDev.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}},"created_at":"2024-06-03T15:07:42.000Z","updated_at":"2024-12-13T12:19:19.000Z","dependencies_parsed_at":"2024-06-05T12:55:17.902Z","dependency_job_id":"02314175-5262-4184-9880-79c84a31176d","html_url":"https://github.com/JimcostDev/auth-fastapi","commit_stats":null,"previous_names":["jimcostdev/auth-fastapi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JimcostDev/auth-fastapi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JimcostDev%2Fauth-fastapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JimcostDev%2Fauth-fastapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JimcostDev%2Fauth-fastapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JimcostDev%2Fauth-fastapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JimcostDev","download_url":"https://codeload.github.com/JimcostDev/auth-fastapi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JimcostDev%2Fauth-fastapi/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266041749,"owners_count":23867946,"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","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-12-29T23:50:49.959Z","updated_at":"2025-07-19T23:34:13.003Z","avatar_url":"https://github.com/JimcostDev.png","language":"Python","readme":"## Auth con FastAPI\n\nEste repositorio proporciona una implementación de autenticación utilizando FastAPI y MongoDB.\n\n### Requisitos previos\n\nAsegúrate de tener instalado Python 3.6 o superior y crea una cuenta en MongoDB Atlas. Puedes registrarte y configurar una base de datos gratuita en [MongoDB Atlas](https://www.mongodb.com/cloud/atlas).\n\n\n### Instrucciones de configuración\n\n1. **Clona este repositorio ejecutando el siguiente comando:**\n    ```bash\n    git clone https://github.com/JimcostDev/auth-fastapi.git\n    ```\n    ```bash\n    cd auth-fastapi\n    ```\n\n2. **Crea y activa tu entorno virtual:**\n    - Crea un entorno virtual:\n        ```bash\n        python -m venv venv\n        ```\n    - Activa el entorno virtual:\n        - En Windows:\n            ```bash\n            venv\\Scripts\\activate\n            ```\n        - En macOS y Linux:\n            ```bash\n            source venv/bin/activate\n            ```\n\n3. **Instala las dependencias requeridas:**\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n4. **Configura la conexión a MongoDB:**\n   Para conectarte a MongoDB, puedes hacerlo a través de una variable de entorno o directamente en el código. Reemplaza la siguiente parte en tu código:\n\n   - Usando una variable de entorno:\n     ```python\n     import os\n\n     mongo_uri = os.getenv(\"MONGODB_URI\")\n     ```\n     Asegúrate de definir `MONGODB_URI` en tu entorno. Puedes hacerlo creando un archivo `.env` en el directorio raíz del proyecto y agregando:\n     ```plaintext\n     MONGODB_URI=tu_cadena_de_conexion\n     ```\n\n   - Usando una cadena directa (no recomendado para producción):\n     ```python\n     mongo_uri = \"tu_cadena_de_conexion\"\n     ```\n\n5. **Ejecuta la aplicación:**\n    - En modo desarrollo:\n        ```bash\n        fastapi dev main.py \n        ```\n        API docs: http://127.0.0.1:8000/docs \n    - En producción:\n        ```bash\n        fastapi run\n        ```\n6. **Usa Insomnia o Postman para probar la API:**\n   - **Instala Insomnia o Postman:**\n     - [Descarga Insomnia](https://insomnia.rest/download) o [descarga Postman](https://www.postman.com/downloads/).\n   \n   - **Configura una nueva solicitud:**\n     - Abre Insomnia o Postman y crea una nueva solicitud.\n     - Configura la URL de la solicitud apuntando a `http://127.0.0.1:8000` o al dominio donde esté desplegada tu API.\n   \n   - **Realiza solicitudes a los endpoints:**\n     - Agrega los headers necesarios como `Content-Type: application/json` y cualquier header de autenticación si es requerido.\n     - Prueba los distintos endpoints definidos en tu API, como registros, inicios de sesión, y cualquier otro recurso disponible.\n\n   - **Ejemplo de solicitud en Insomnia/Postman:**\n     - Método: `POST`\n     - URL: `http://127.0.0.1:8000/login`\n     - Headers:\n       ```json\n       {\n         \"Content-Type\": \"application/json\"\n       }\n       ```\n     - Body:\n       ```json\n       {\n         \"username\": \"tu_usuario\",\n         \"password\": \"tu_contraseña\"\n       }\n       ```\n\n   - **Autenticación con token Bearer:**\n     - Después de iniciar sesión y obtener un token, agrega el token a tus solicitudes para acceder a los endpoints protegidos.\n     - Ejemplo de configuración del header de autorización en Insomnia o Postman:\n       - Header: `Authorization`\n       - Valor: `Bearer tu_token`\n   \n   - **Ejemplo de solicitud para ver equipos:**\n     - Método: `GET`\n     - URL: `http://127.0.0.1:8000/teams`\n     - Headers:\n       ```json\n       {\n         \"Authorization\": \"Bearer tu_token\"\n       }\n       ```\n\u003e !Si te resulta útil este proyecto, apóyalo con una ⭐! Tu apoyo nos motiva a crear más contenido y mejorar los recursos disponibles. ¡Gracias! :octocat:\n\n\n### Recursos adicionales\n\n- [Documentación de FastAPI](https://fastapi.tiangolo.com/)\n- [Documentación de MongoDB](https://docs.mongodb.com/)\n- [Repositorio personal sobre MongoDB](https://github.com/JimcostDev/mongodb_developer_path)\n- **Video tutorial:** En este [video](https://youtu.be/BZZOuM1UpyI) te enseño a crear tu primera API y desplegarla.\n\n## Howdy, soy Ronaldo Jiménez 👋🏻\n### Software Engineer \u0026 Web Developer :octocat:\n\u003c!-- banner --\u003e\n[![banner-yt](https://user-images.githubusercontent.com/53100460/254561844-6471bed7-ba32-4d66-b05f-007da9a95620.jpg)](https://www.youtube.com/@jimcostdev)\n![Profile Views](https://komarev.com/ghpvc/?username=JimcostDev\u0026color=%23007bff\u0026card=%23ffffff\u0026title=%23007bff)\n[![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UC-l_8ggAw-u4dJZtO05F5zQ?style=social)](https://youtube.com/@jimcostdev?sub_confirmation=1)\n![GitHub Followers](https://img.shields.io/github/followers/JimcostDev?style=social)\n![GitHub Stars](https://img.shields.io/github/stars/JimcostDev?style=social)\n\n\u003c!-- frase de EGW --\u003e\n[![Typing SVG](https://readme-typing-svg.demolab.com?font=Fira+Code\u0026pause=1000\u0026color=1B82AB\u0026random=false\u0026width=1280\u0026lines=\"Ponte+un+blanco+alto+y+haz+fervientes+esfuerzos+por+alcanzarlo+y+no+te+desanimes.\")](https://git.io/typing-svg) \n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimcostdev%2Fauth-fastapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjimcostdev%2Fauth-fastapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimcostdev%2Fauth-fastapi/lists"}