【问题标题】:Best way to check if access_key matches NEAR account检查 access_key 是否与 NEAR 帐户匹配的最佳方法
【发布时间】:2020-05-03 08:38:41
【问题描述】:

我正在构建一个用户身份验证解决方案,将附近的帐户与我自己的生成的访问令牌相匹配。我想在我的 node.js 后端(使用 Nearlib?)中验证 near access key(存储在浏览器的本地存储中)是否与提供的 near 帐户匹配。这是为了证明请求确实是由账号所有者发出的。

如果我有:

accountID: "myAccount",
near_access_token: "ed25519:{...}"

我还假设此处使用的正确near access token 位于nearlib:keystore:klopt:default 之下。

【问题讨论】:

    标签: nearprotocol


    【解决方案1】:

    我想在我的 node.js 后端(使用 Nearlib?)中验证 Near 访问密钥(存储在浏览器的本地存储中)是否与提供的 Near 帐户匹配。

    您应该能够使用 account.getAccessKeys() call https://github.com/nearprotocol/nearlib/blob/master/src.ts/account.ts#L202 获取给定帐户的访问密钥列表

    然后您可以检查密钥库中的密钥对是否具有相同的公钥。

    这是为了证明请求确实是由账户所有者发出的。

    如果您想证明请求是由帐户所有者发送的,您需要验证签名。

    参见例如帐户助手微服务中的此代码: https://github.com/nearprotocol/near-contract-helper/blob/19ac6ce05a0d44f0e389c85b30bc2b6a9190caac/app.js#L97

    在这种情况下,securityCode 必须由帐户签名(在设置帐户恢复时)。在您的情况下,您不想签署securityCode,而是签署请求。

    您应该能够使用Signer.signMessage API https://github.com/nearprotocol/nearlib/blob/master/src.ts/signer.ts#L38 签署请求

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 2018-12-26
      • 1970-01-01
      • 2017-09-29
      • 2011-03-24
      • 2012-05-23
      相关资源
      最近更新 更多