{"id":26093023,"url":"https://github.com/mguinness/nginxwebauthn","last_synced_at":"2026-04-22T06:07:27.922Z","repository":{"id":280065126,"uuid":"940849020","full_name":"mguinness/NginxWebAuthn","owner":"mguinness","description":"WebAuthn for nginx using auth_request","archived":false,"fork":false,"pushed_at":"2025-03-06T06:08:21.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-09T11:12:24.978Z","etag":null,"topics":["nginx","webauthn"],"latest_commit_sha":null,"homepage":"","language":"C#","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/mguinness.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-28T22:58:36.000Z","updated_at":"2025-03-06T06:08:24.000Z","dependencies_parsed_at":"2025-03-01T02:25:40.841Z","dependency_job_id":"81eec05c-773f-42a4-8c48-48a037e57921","html_url":"https://github.com/mguinness/NginxWebAuthn","commit_stats":null,"previous_names":["mguinness/nginxwebauthn"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mguinness/NginxWebAuthn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mguinness%2FNginxWebAuthn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mguinness%2FNginxWebAuthn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mguinness%2FNginxWebAuthn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mguinness%2FNginxWebAuthn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mguinness","download_url":"https://codeload.github.com/mguinness/NginxWebAuthn/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mguinness%2FNginxWebAuthn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32123609,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T00:31:26.853Z","status":"online","status_checked_at":"2026-04-22T02:00:05.693Z","response_time":58,"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":["nginx","webauthn"],"created_at":"2025-03-09T11:12:01.248Z","updated_at":"2026-04-22T06:07:27.907Z","avatar_url":"https://github.com/mguinness.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nginx w/ WebAuthn\n[WebAuthn](https://en.wikipedia.org/wiki/WebAuthn) for [nginx](https://en.wikipedia.org/wiki/Nginx) using [auth_request](http://nginx.org/en/docs/http/ngx_http_auth_request_module.html#auth_request).  Project is inspired and ported from \n[NGINX + WebAuthn for your small scale web applications](https://github.com/newhouseb/nginxwebauthn) repository.\n\nDocker images are available in Docker Hub at [mguinness/nginxwebauthn](https://hub.docker.com/r/mguinness/nginxwebauthn).\n\nModify your nginx configuration as follows.  Update `server_name` and your SSL settings (WebAuthn requires SSL).\n\n```\nserver {\n    listen 443 ssl;\n    server_name localhost;\n\n    ssl_certificate cert.pem;\n    ssl_certificate_key cert.key;\n\n    # Redirect everything that begins with /auth to the authorization server\n    location /auth {\n        proxy_pass http://localhost:8080;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    }\n\n    # If the authorization server returns 401 Unauthorized, redirect to /auth/login\n    error_page 401 = @error401;\n    location @error401 {\n        return 302 /auth/login;\n    }\n\n    root html;\n    index index.html;\n\n    location / {\n        auth_request /auth/check; # Ping /auth/check for every request, and if it returns 200 OK grant\n    }\n}\n```\n\nRun the ASP.NET Core application and navigate to the configured nginx site.  You should be automatically routed to `/auth/login`.\n\nInsert your security key to register it and you will get a message that includes the public key.  Copy and paste it into the `Realms` section in the appsettings.json file.\n\nIf you are using docker, create a text file and place the environment variable on a new line.  Then run docker and use the `--env-file` flag with the path to the file.\n\nAfter restarting the application and navigating to the site, you should be prompted to insert your security key to authenticate.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmguinness%2Fnginxwebauthn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmguinness%2Fnginxwebauthn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmguinness%2Fnginxwebauthn/lists"}