{"id":21715338,"url":"https://github.com/masterkale/webauthn-polyfills","last_synced_at":"2025-10-07T09:31:44.730Z","repository":{"id":262712598,"uuid":"885240936","full_name":"MasterKale/webauthn-polyfills","owner":"MasterKale","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-24T04:10:53.000Z","size":56,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-24T04:25:25.572Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MasterKale.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2024-11-08T08:20:07.000Z","updated_at":"2025-01-24T04:10:57.000Z","dependencies_parsed_at":"2024-11-13T22:19:08.559Z","dependency_job_id":"3360b928-43fe-4cf0-ba3b-6f7238946478","html_url":"https://github.com/MasterKale/webauthn-polyfills","commit_stats":null,"previous_names":["masterkale/webauthn-polyfills","passkeydeveloper/webauthn-polyfills"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MasterKale%2Fwebauthn-polyfills","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MasterKale%2Fwebauthn-polyfills/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MasterKale%2Fwebauthn-polyfills/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MasterKale%2Fwebauthn-polyfills/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MasterKale","download_url":"https://codeload.github.com/MasterKale/webauthn-polyfills/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235614116,"owners_count":19018400,"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-11-26T00:42:37.618Z","updated_at":"2025-10-07T09:31:44.724Z","avatar_url":"https://github.com/MasterKale.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# webauthn-polyfills\n\nPolyfills for advanced WebAuthn methods not yet supported in evergreen browsers.\n\nA polyfill is a piece of code used to provide modern functionality on older\nbrowsers that do not natively support it.\n\n## Installation\n\nThis package can be installed from NPM:\n\n```\nnpm install webauthn-polyfills\n```\n\nThis package is also available from JSR.io:\n\n```\ndeno add jsr:@passkeys/webauthn-polyfills\n```\n\n```\nnpx jsr add @passkeys/webauthn-polyfills\n```\n\n## Supported APIs\n\nJust by importing webauthn-polyfills, your WebAuthn implementation will get the\nfollowing support so you don't have to worry about backward compatibility:\n\n### JSON serialization\n\nWebAuthn request and response objects have multiple fields that contain raw\nbinary data in an ArrayBuffer, such as the credential ID, user ID, or challenge.\nIf a website wants to use JSON to exchange this data with its server, the binary\ndata must first be encoded, for example with Base64URL. This adds unnecessary\ncomplexity for developers that want to start using passkeys on their websites.\n\nWebAuthn offers APIs to parse `PublicKeyCredentialCreationOptions` and\n`PublicKeyCredentialRequestOptions` WebAuthn request objects directly from JSON,\nand serialize the `PublicKeyCredential` response directly into JSON. All\nArrayBuffer-valued fields that carry raw binary data are automatically converted\nfrom or to their Base64URL-encoded values.\n\n- [`PublicKeyCredential.parseCreationOptionsFromJSON`](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/parseCreationOptionsFromJSON_static)\n- [`PublicKeyCredential.parseRequestOptionsFromJSON`](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/parseRequestOptionsFromJSON_static)\n- [`PublicKeyCredential.prototype.toJSON`](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/toJSON)\n\n### getClientCapabilities()\n\n`getClientCapabilities()` method allows to determine which WebAuthn features are\nsupported by the user's client. The method returns a list of supported\ncapabilities, allowing developers to tailor authentication experiences and\nworkflows based on the client's specific functionality. Expected results include:\n\n- [`PublicKeyCredential.getClientCapabilities`](https://web.dev/articles/webauthn-client-capabilities)\n\nThis polyfill returns static results based on the user agent information except\nfor `hybridTransport` and `passkeyPlatformAuthenticaator`.\n\n## Contributing\n\n**Requirements:**\n\n- Deno v2.1.x\n\n```sh\n# Install dependencies\n$ deno install\n\n# Run tests once\n$ deno task test\n\n# Re-run tests on changes\n$ deno task test:watch\n```\n\n## Publishing\n\n🚨 **Increment `\"version\"` in deno.json before proceeding!** 🚨\n\n### NPM\n\nTo publish to NPM, run the following command:\n\n```sh\ndeno task publish:npm\n```\n\n### JSR\n\nThe following command will publish to JSR.io:\n\n```sh\ndeno task publish:jsr\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmasterkale%2Fwebauthn-polyfills","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmasterkale%2Fwebauthn-polyfills","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmasterkale%2Fwebauthn-polyfills/lists"}