{"id":19100497,"url":"https://github.com/KristofferStrube/Blazor.WebAuthentication","last_synced_at":"2025-04-18T17:33:47.903Z","repository":{"id":214249024,"uuid":"695876027","full_name":"KristofferStrube/Blazor.WebAuthentication","owner":"KristofferStrube","description":"A Blazor wrapper for the Web Authentication browser API.","archived":false,"fork":false,"pushed_at":"2024-09-11T19:06:10.000Z","size":24936,"stargazers_count":92,"open_issues_count":0,"forks_count":9,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-09-13T05:06:26.344Z","etag":null,"topics":["auth","authentication","blazor","credential-manager","credentials","jsinterop","wasm","web","web-authentication"],"latest_commit_sha":null,"homepage":"https://kristofferstrube.github.io/Blazor.WebAuthentication/","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/KristofferStrube.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2023-09-24T13:56:50.000Z","updated_at":"2024-09-11T19:04:58.000Z","dependencies_parsed_at":"2024-09-12T00:40:49.560Z","dependency_job_id":"a6756c5b-d3cc-4a18-9aec-4975bb37ddbb","html_url":"https://github.com/KristofferStrube/Blazor.WebAuthentication","commit_stats":null,"previous_names":["kristofferstrube/blazor.webauthentication"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KristofferStrube%2FBlazor.WebAuthentication","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KristofferStrube%2FBlazor.WebAuthentication/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KristofferStrube%2FBlazor.WebAuthentication/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KristofferStrube%2FBlazor.WebAuthentication/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KristofferStrube","download_url":"https://codeload.github.com/KristofferStrube/Blazor.WebAuthentication/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223783096,"owners_count":17201904,"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":["auth","authentication","blazor","credential-manager","credentials","jsinterop","wasm","web","web-authentication"],"created_at":"2024-11-09T03:52:51.563Z","updated_at":"2025-04-18T17:33:47.896Z","avatar_url":"https://github.com/KristofferStrube.png","language":"C#","readme":"# Blazor.WebAuthentication\r\nA Blazor wrapper for the [Web Authentication](https://www.w3.org/TR/webauthn-3/) browser API.\r\n\r\nThe API specifies ways to create and validate strong public-key-based credentials. It gets these credentials from the native authenticators of the device. On Windows, that's Windows Hello; on iOS/macOS, that's Touch ID or Face ID; and on Android, that's face, fingerprint, or PIN authentication. This project implements a wrapper around the API for Blazor so that we can easily and safely work with native authentication methods from the browser.\r\n\r\n*This wrapper is still under development.*\r\n\r\n# Demo\r\nThe sample project can be demoed at https://kristofferstrube.github.io/Blazor.WebAuthentication/\r\n\r\nOn each page, you can find the corresponding code for the example in the top right corner.\r\n\r\n## Logging and monitoring\r\nFor the demo, I use [elmah.io](https://elmah.io) for logging and monitoring. This helps me to debug errors that might occur on specific devices or under special circumstances. The use of Error Handling JSInterop from [Blazor.WebIDL](https://github.com/KristofferStrube/Blazor.WebIDL) combined with elmah.io makes this especially useful.\r\n\r\n\r\nelmah.io gives a free Small Business subscription to any OSS project. Read more about this here: [Open Source - Monitor your open source website for free](https://elmah.io/sponsorship/opensource/)\r\n\r\n# Related articles\r\nThis repository was built with inspiration and help from the following series of articles:\r\n\r\n- [Typed exceptions for JSInterop in Blazor](https://kristoffer-strube.dk/post/typed-exceptions-for-jsinterop-in-blazor/)\r\n- [Wrapping JavaScript libraries in Blazor WebAssembly/WASM](https://blog.elmah.io/wrapping-javascript-libraries-in-blazor-webassembly-wasm/)\r\n- [Call anonymous C# functions from JS in Blazor WASM](https://blog.elmah.io/call-anonymous-c-functions-from-js-in-blazor-wasm/)\r\n- [Using JS Object References in Blazor WASM to wrap JS libraries](https://blog.elmah.io/using-js-object-references-in-blazor-wasm-to-wrap-js-libraries/)\r\n- [Blazor WASM 404 error and fix for GitHub Pages](https://blog.elmah.io/blazor-wasm-404-error-and-fix-for-github-pages/)\r\n- [How to fix Blazor WASM base path problems](https://blog.elmah.io/how-to-fix-blazor-wasm-base-path-problems/)\r\n","funding_links":[],"categories":["others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKristofferStrube%2FBlazor.WebAuthentication","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKristofferStrube%2FBlazor.WebAuthentication","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKristofferStrube%2FBlazor.WebAuthentication/lists"}