这是 W3C WebAuthn 工作组的存储库,负责制定“Web 身份验证”规范草案。
gh-pages
分支中找到。要为本规范做出实质性贡献,您必须满足 CONTRIBUTING.md 中概述的要求。另外,在提交反馈之前,请熟悉我们当前的问题列表并查看邮件列表讨论。
可以使用bikeshed
构建草稿的格式化 HTML(有关bikeshed
安装的说明,请参阅下文):
$ bikeshed spec
您可能还想使用watch
功能在进行更改时自动重新生成:
$ bikeshed watch
请参阅 https://tabatkins.github.io/bikeshed/#installing 上的完整说明。
您需要安装 Python 3.7 或更高版本。安装 Python 3.7 或更高版本后,要安装 Bikeshed 本身,请运行以下命令:
pip3 install bikeshed && bikeshed update
完成后,Bikeshed 应该已安装,并且bikeshed
命令应该可以在您的 shell 中运行。
每次推送到main
分支时,https://w3c.github.io/webauthn/ 都会从gh-pages
分支自动发布,使用 https://github.com/w3c/webauthn/blob/main/.github/workflows/ build-validate-publish.yml 用于配置自动发布行为。
要构建新的 WD 并将其上传到 W3C 发布系统:
bikeshed update
bikeshed spec
bikeshed echidna --u USERNAME --p PASSWORD --d DECISION_URL
上面的命令将创建 HTML 和图像的 tarball,并上传到 Echidna(W3C 的自动发布系统)。该命令应返回一个url,通过该url您可以知道您是否成功发布草稿。还可以通过邮件列表存档跟踪请求的状态。您还可以使用 Echidna 文档中所述的 W3C API。请注意,在 Windows 上,这将给出有关无法删除临时文件的错误,因为它正在被不同的进程使用。此错误是无害的;它发生在提交完成后。
如果通过此过程发布不成功,则可能是由于 Specbreus(规范合规性检查器)造成的。 Echidna 自动运行 Specbreus,如果 Specbreus 报告任何错误,将拒绝发布。您可以通过 Pubrules 运行您的文档,以了解您的文档被拒绝的原因。您可以修改index.bs 文件或index.html 文件以确保合规性。
通常,您会发现 Pubrules 错误是由于 Bikeshed 或 Specbreus 中的错误造成的。如果是这样,您将必须修改编译的index.html文件以绕过Echidna并使用手动过程进行发布。当您编辑 html 文件以避免错误时,您还应该检查以确保文档仍然正确呈现。
手动过程要求您首先创建一个 tar 文件。要创建 tar 文件,您需要首先复制index.html 文件并将复制的文件重命名为Overview.html。这是因为 Echidna 无法识别index.html。然后您可以使用以下命令创建 tar 文件:
tar -cvf WD.tar Overview.html image1 image2 image3
然后您可以运行以下命令curl来发布到Echidna(在与您的tar文件相同的目录中使用该命令):
curl 'https://labs.w3.org/echidna/api/request' --user '<username>:<password>' -F "[email protected]" -F "decision=<decisionUrl>"
当您遇到困难时,请随时联系您的主席或任何 W3C 工作人员。关于针鼹的总体信息在这里:https://github.com/w3c/echidna/wiki 和这里 https://labs.w3.org/echidna/。