{"id":21590227,"url":"https://github.com/corbado/example-passkeys-python-django","last_synced_at":"2025-04-10T22:17:30.597Z","repository":{"id":209842679,"uuid":"721724798","full_name":"corbado/example-passkeys-python-django","owner":"corbado","description":"Python Django passkey repository of a sample app that offers passkey authentication.","archived":false,"fork":false,"pushed_at":"2024-10-26T10:27:11.000Z","size":53,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-10T22:17:25.163Z","etag":null,"topics":["django","faceid","fido2","passkey","passkeys","python","touchid","webauthn"],"latest_commit_sha":null,"homepage":"https://www.corbado.com/passkeys/django","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/corbado.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":"2023-11-21T16:39:32.000Z","updated_at":"2025-01-12T17:57:35.000Z","dependencies_parsed_at":"2024-10-26T13:11:58.000Z","dependency_job_id":"22984450-cd8b-48a9-a9b7-851fe1cf29a1","html_url":"https://github.com/corbado/example-passkeys-python-django","commit_stats":null,"previous_names":["corbado/example-passkeys-python-django"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corbado%2Fexample-passkeys-python-django","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corbado%2Fexample-passkeys-python-django/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corbado%2Fexample-passkeys-python-django/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corbado%2Fexample-passkeys-python-django/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/corbado","download_url":"https://codeload.github.com/corbado/example-passkeys-python-django/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248305847,"owners_count":21081575,"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":["django","faceid","fido2","passkey","passkeys","python","touchid","webauthn"],"created_at":"2024-11-24T16:17:11.118Z","updated_at":"2025-04-10T22:17:30.561Z","avatar_url":"https://github.com/corbado.png","language":"Python","readme":"# Django Passkey Example App\n\n## Project Overview\n\nThis project implements a web application with a login system using Corbado' passkey-first authentication service\nintegrated with a Django backend. The application consists of two main pages: a login page and a home page. Once users\nlog in successfully via the Corbado service on the login page, they are redirected to the home page where they can log\nout and view protected content.\n\nPlease see the [full blog post](https://www.corbado.com/blog/django-passkeys) to understand all the required steps to integrate passkeys into Django apps.\n\n## Tools and Technologies Used\n\n- **Django**: A full-featured Python web framework, used to build the backend of the application.\n- **Corbado**: An authentication service used to handle passkey-first user authentication.\n- **HTML \u0026 CSS**: Used to structure and style the frontend of the application.\n\n## Features\n\n- **Passkey-first Authentication**: Utilizes Corbado's authentication service for secure user login.\n- **Session management**: Uses Corbado's session management to display content based on the user's authentication status.\n\n## How to Use\n\n### 1. File structure\n```\n├── .env                    # Contains all environment variables\n├── passkeys_demo\n|   ├── settings.py         # Global settings\n|   ├── urls.py             # Route config\n|   ├── views.py            # Controller for our pages\n|   ├── templates\n|   |   ├── index.html      # Login page\n|   |   └── profile.html    # Profile page\n```\n\n### 2. Setup\n#### Step 2.1: Clone the Repository\n\nClone this repository to your local machine by running:\n\n```sh\ngit clone https://github.com/corbado/example-passkeys-django\n```\n\n#### Step 2.2: Create .env File\n\nTo configure the credentials, you will need to create a `.env` file with your `Project ID` and `API secret` from Corbado:\nTo get your `Project ID` and `API secret` visit your [Corbado developer panel](https://app.corbado.com/?technology=passkeys\u0026framework=Django#signup-init).\n\nPlease refer to the [Corbado docs](https://docs.corbado.com/overview/welcome) for more details on obtaining the\nnecessary credentials and integrating Corbado authentication in your application.\n\n```sh\nPROJECT_ID=\u003cyour-project-id\u003e\nAPI_SECRET=\u003cyour-api-secret\u003e\n```\n\n#### Step 2.3: Configure Corbado project\n\nIn the Corbado developer Panel, visit the [URLs settings](https://app.corbado.com/app/settings/general/urls) and enter the values shown in the image below:\n\n![Corbado developer panel URL](https://github.com/user-attachments/assets/533857f6-cd2f-42fe-b72b-c4b0277f8300)\n\n\n#### Step 2.4: Run the Project\n\nUse the following command to run the project in a docker container:\n\n```sh\ndocker compose up\n```\n\n### 3. Usage\n\nAfter step 2.4. your local server should be fully working.\n\nIf you now visit [http://localhost:3000](http://localhost:3000), you should be able to sign up using the Corbado UI component.\n\n![django passkeys ui component](https://github.com/user-attachments/assets/8d894ba6-17b7-4769-b5ff-3dd9ec5b648a)\n\n\nWhen authenticated you will be forwarded to the `/profile` page.\n\n\u003cimg width=\"1435\" alt=\"Django Passkey List\" src=\"https://github.com/user-attachments/assets/3d67f3db-205c-455e-99f6-31ddb63171a3\"\u003e\n\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorbado%2Fexample-passkeys-python-django","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcorbado%2Fexample-passkeys-python-django","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorbado%2Fexample-passkeys-python-django/lists"}