1 分•作者: conferza•6 个月前
返回首页
最新
1 分•作者: 01-_-•6 个月前
2 分•作者: rbanffy•6 个月前
1 分•作者: engineer194•6 个月前
2 分•作者: 01-_-•6 个月前
2 分•作者: haykerman•6 个月前
1 分•作者: aethiopicuschan•6 个月前
嘿,Hacker News,
我很高兴向大家介绍 passkey-go,这是一个我构建的新的 Go 语言库,旨在让在你的 Go 应用程序中实现服务器端 WebAuthn(通行密钥)验证变得更加简单和稳健。
虽然 WebAuthn 提供了强大的、防钓鱼的身份验证功能,但其规范在服务器端正确实现起来可能相当复杂。我开发 passkey-go 的目标是抽象掉底层的解析和加密细节,提供一个用于常见任务的高级、易于使用的 API,以及更高级的、分步验证的灵活性。
以下是 passkey-go 提供的功能:
轻松验证:VerifyAssertion 函数提供了一个单一的、高级的调用,用于验证身份验证响应,为你处理所有加密检查、来源验证和签名计数验证。
灵活的注册:对于注册,该库提供了清晰的、顺序的步骤来解析证明对象、提取验证器数据,并将 COSE 密钥转换为 *ecdsa.PublicKey 以供存储。
细粒度控制:如果你需要更多控制,你可以使用 ParseAssertion、ParseClientDataJSON、VerifyAssertionSignature 和 CheckSignCount 函数来分步执行验证。
安全设计:它专注于正确处理核心验证逻辑,确保签名验证、挑战匹配,并通过 signCount 检查防止重放攻击。
清晰的错误处理:PasskeyError 类型帮助你将常见的 WebAuthn 相关问题直接映射到适当的 HTTP 状态,简化 API 错误响应。
极简设计:passkey-go 仅专注于 WebAuthn 验证逻辑。它不规定你如何存储挑战或凭据,让你完全控制你的用户和数据管理。
ES256 支持:遵循 WebAuthn 建议,仅支持 ES256(ECDSA w/ SHA-256),以实现强大的安全性。
Go 风格:专为 Go 开发者设计,提供清晰的函数签名和标准的错误处理。
这个库处理了 WebAuthn 验证的复杂部分,让你能够快速集成安全的通行密钥身份验证,而不会陷入规范的复杂性中。
你可以在这里找到代码库和更详细的用法示例:[https://github.com/aethiopicuschan/passkey-go](https://github.com/aethiopicuschan/passkey-go)
我很想听取你的想法、反馈,以及对未来改进的任何建议。欢迎在 GitHub 上提交问题或拉取请求!
感谢你的关注!
22 分•作者: Michelangelo11•6 个月前
1 分•作者: alorankles•6 个月前
2 分•作者: perihelions•6 个月前
1 分•作者: teen-different•6 个月前
2 分•作者: appwiz•6 个月前
1 分•作者: thushanfernando•6 个月前
1 分•作者: nerder92•6 个月前
1 分•作者: narilear•6 个月前
1 分•作者: mahmadSA•6 个月前
最佳内部审计管理软件
1 分•作者: duck•6 个月前
3 分•作者: Anumbia•6 个月前
2 分•作者: themgt•6 个月前
2 分•作者: rcarmo•6 个月前