0

我想构建一个使用钱包地址作为帐户的 web 应用程序,但我想将用户存储在我的数据库中以允许指定昵称。
我正在处理的问题是我想调用不同的 api,用户需要在其中进行身份验证/授权才能获得访问权限。

由于在我的情况下身份验证发生在 100% 客户端(通过 tronlink 扩展和 TronWeb),因此我看不到另一种方法可以专门为我的 web 应用程序添加补充身份验证。
如果用户使用不同的密码登录我的应用程序(不使用钱包的私钥),用户体验似乎很糟糕,因为用户需要进行两次身份验证(通过 Tronweb 和我的 webapp 使用密码)。

你怎么解决这个问题?

4

1 回答 1

0

毕竟,处理这个问题的方法似乎是为 Web 应用程序预见一个单独的登录流程。即使用户已经登录到 Tronlink,它也需要获取一个令牌来验证其余调用。

它的工作方式似乎是生成一个随机随机数并将该随机数与公钥一起存储在用户表中。然后,登录流程包括在前端对 nonce 进行签名,并在后端验证签名,之后将生成并返回令牌。

于 2021-11-21T20:52:31.597 回答