你需要一个私钥来与web3区块链通信;这是确认你自己在区块链上的资产的唯一方法。然而,私钥带来了可用性的挑战,尽管自70年代以来一直存在,但它们的采用情况却很差。Web3钱包,即存储私钥并围绕它创建一个通信框架的软件,在可用性方面有了一些改善,但仍然不是无缝的。一些web3组织试图通过保管钱包来解决这个问题,他们为用户管理密钥。这种解决方案与web3的用户控制和所有权目标相悖。Web3Auth的创新社会认证工具创建了一个非托管钱包,由用户控制,并且仍然是用户友好的,你现在可以在你的Auth0租户中整合这些工具
Web3Auth是如何推进Web3的可用性的
为了获得对任何区块链应用程序的访问,用户需要一个web3公钥-私钥对。公钥的功能是用户在区块链上的 "地址"。该地址是一个ID,用于记录区块链资产的所有权。它也可以用来加密信息,只有私钥可以解密。只有地址所有者可以访问存储在web3钱包中的私钥,这就是区块链如何确保只有地址所有者可以购买和出售与该地址相关的资产。
对于普通终端用户来说,关于密钥的一个主要可用性挑战是,如果你失去了对它的访问权或私钥被暴露;你就不能像更新密码一样更新它。最流行的web3钱包通常通过创建一个12到24个单词的种子短语来管理密钥,这可以用来创建一个与私钥绑定的公钥阵列。只要你能找到你的种子短语备份,你就能恢复对与你区块链地址相关的资产的访问。这是一个单点故障,期望用户安全地备份他们的种子短语并不能提供一个良好的用户体验。
Web3Auth的平台使用Shamir秘密共享来分割密钥,并将其保存在用户的设备中,一个社交登录提供者,以及一个恢复方法。然后,Web3Auth可以查看设备存储和社交登录来重新创建用户的密钥,这就创造了具有非托管的web3钱包的web2认证体验。如果用户使用的是新设备,他们只需要通过电子邮件或其他方式的恢复选项来确认他们的身份。
这个解决方案提供了一个开发者:
- 一个可与web3区块链一起使用的非托管钱包。
- 在他们的应用程序中创建用户友好的web3入职的一个更简单的方法。
- 能够部署一个与web3钱包相关的社交登录体验。
- 为他们的终端用户提供最好的Web3安全和隐私设计。
用Auth0实现社交登录,可以让你快速地将web3钱包添加到你现有的应用程序中。Web3Auth与大量的区块链一起工作,包括主要的第一层链(Ethereum、Solana、Avalanche),以及第二层链(Polygon、Starkware、Arbitrum等)。在签到过程结束时,用户拥有一个有效的web3钱包。这是一种无摩擦、安全、自我监护的方式,让用户进入web3世界。
它是如何工作的
下面是一个高层次的概述,如果你想了解全部细节,请查看安装指南:
常规网络应用程序流程
- 用户发起登录请求,打开Auth0的登录体验。他们选择自己喜欢的社会身份提供者。
- Auth0管理OAuth流程,将信息转发给身份提供者。
- 身份提供者根据在Auth0仪表板上配置的权限,将身份信息转发给Auth0。
- Auth0按照正常的认证流程,向你的应用服务器发送一个授权代码。
- 你的服务器添加一个客户ID和客户秘密,为用户请求一个ID令牌。
- 你的应用服务器将ID令牌发送到前端客户端应用程序的Web3Auth SDK。
- Web3Auth SDK将ID令牌信息传递给Web3Auth网络,后者将其转换为一段私钥共享。
- 密钥共享被转回给前端应用,前端应用用它来重构用户的私钥,以便在应用中使用。
设置步骤
根据你的应用程序类型,需要有JavaScript或移动SDK的工作知识。有四个主要步骤来进行整合设置。每个步骤在集成指南中都有详细说明。
- 配置你的Auth0租户和Web3Auth仪表板。
- 根据你的应用类型,选择并安装适当的Web3Auth SDK。
- 安装SDK后,你需要初始化你的Web3Auth应用程序。
- 最后,你需要使用
connect.to
函数来验证用户的身份。
下一步是什么?
Auth0Lab团队正在积极探索最好的方法,以使开发人员能够建立依赖于Web3身份构造的应用程序,并帮助连接Web2和Web3世界。你可以在Twitter上关注我们的进展。如果你有兴趣与团队交流,请加入我们的Discord并发起一个主题。