【问题标题】:Does Corda support user credentials for Accounts / Party?Corda 是否支持 Accounts / Party 的用户凭据?
【发布时间】:2021-08-30 03:38:41
【问题描述】:

Corda 是否支持 Accounts / Party 的用户凭据?这里有一个普通的用户名、密码,用于通过 RPC 访问节点。有没有办法在 Corda 中验证用户(节点用户/帐户)?

应用程序用户(节点用户/帐户) 应用程序 RPC 客户端 Cordapp(节点)

【问题讨论】:

  • 我已经在另一个问题中回答了你,对吧(在 cmets 中)? stackoverflow.com/questions/67867353/…
  • 我无法得到这个问题的答案 - “由于每个用户都没有关联的 KEY,它是否仍会使用节点的 KEY 进行操作?”此外,由于 RPC 登录使用通用凭据,因此需要特定于用户的访问权限。根据此文档,可以在外部数据库中定义一组用户。这不是比在配置文件中配置 rpcusers 更好的方法吗? docs.corda.net/docs/corda-enterprise/4.7/node/operating/…需要检查这是否适用于Node用户和账户SDK。

标签: corda


【解决方案1】:
  • 将外部客户端连接到节点的唯一方法是使用 Corda RPC 客户端
  • 可以连接RPC客户端的用户配置(即用户名、密码、权限)在node.conf(解释为here
  • 您可以在node.conf 中创建多个用户。取决于您的安全策略,您可以将这些用户分配给节点管理员或外部用户。您可以为每个人设置不同的权限,还可以设置他们可以访问哪些 CorDapp 流。
  • 如果您的 CorDapp 确实使用了 Accounts(即帐户库),并且您希望它们“运行流”(尽管考虑到 Corda 中的帐户不运行流,但它始终是代表它们运行流的节点)从外部客户端(例如 Web 应用程序),您可以:
    1. node.conf 中为每个帐户创建一个 RPC 用户
    2. 只为 RPC 客户端创建一个用户,并在应用程序级别而不是 Corda 级别(例如 JWT、外部数据库、AWS Cognito 等)管理外部用户的身份验证和授权。获得授权后,用户可以从 Web 应用访问 RPC 客户端并
    3. 1. 和 2. 的混合。

我不建议仅在 Corda 级别委派外部用户的身份验证和授权。我会将 Corda 中的“帐户”和“外部用户”的概念分开。

【讨论】:

  • 谢谢。因此需要在应用程序端处理身份验证,还需要在应用程序中维护一个应用程序用户-corda 帐户/节点映射。这将有助于映射用户。也可能有助于将派对名称(根据 Corda 中的名称)正确传递给 RPC 调用。
  • 是的。永远不要忘记 Corda 4.x 中的“帐户”只是逻辑实体。所以,实际上他们什么都不做,它总是运行流等的节点。
猜你喜欢
  • 2014-03-19
  • 2021-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-03
  • 2018-11-17
  • 1970-01-01
相关资源
最近更新 更多