Oauth 2.0 使用OAuth2.0在hyperledger composer应用程序中进行身份验证

Oauth 2.0 使用OAuth2.0在hyperledger composer应用程序中进行身份验证,oauth-2.0,hyperledger-composer,Oauth 2.0,Hyperledger Composer,我已经构建了一个hyperledger composer应用程序(angular前端,连接到composer rest服务器),到目前为止,该应用程序缺少身份验证 以下是我的理解: 1.)需要为网络中的每个参与者颁发身份证 2.)需要为在步骤1中创建的标识创建一张业务网卡。) 3.)需要将业务网卡添加到rest服务器的钱包中 4.)步骤1.)和3.)可以通过调用REST服务器提供的REST端点来完成 我不明白的是: 假设REST服务器的钱包中有一张“John Doe”的商务网卡。商业网卡包含参与

我已经构建了一个hyperledger composer应用程序(angular前端,连接到composer rest服务器),到目前为止,该应用程序缺少身份验证

以下是我的理解:

1.)需要为网络中的每个参与者颁发身份证

2.)需要为在步骤1中创建的标识创建一张业务网卡。)

3.)需要将业务网卡添加到rest服务器的钱包中

4.)步骤1.)和3.)可以通过调用REST服务器提供的REST端点来完成

我不明白的是:

假设REST服务器的钱包中有一张“John Doe”的商务网卡。商业网卡包含参与者ID和相关标识

Google OAuth2.0用于身份验证

当John Doe想要登录hyperledger composer应用程序时,他会被重定向到谷歌,在那里他会被要求输入他的谷歌帐户电子邮件+密码

如果商业网卡包含John Doe的google帐户电子邮件(或其google帐户密码),则可以在商业网卡和试图登录的用户(John Doe)之间建立连接。但该商业网卡不包含来自John Doe谷歌账户的任何信息(既不包含电子邮件也不包含密码)

那么,应用程序如何知道尝试登录的用户拥有业务网卡,因此有资格登录?据我所知,应用程序只知道试图登录的用户有一个google帐户,但这并不意味着他/她也有一张商业网卡,因此有资格使用该应用程序


换言之:我不明白OAuth2.0如何帮助进行身份验证,因为OAuth2.0提供商不保存hyperledger应用程序中的任何数据(如参与者id或身份),hyperledger应用程序也不保存OAuth2.0提供商中的任何数据(如Facebook用户名或Google帐户电子邮件).

启用OAth2.0仅要求您在访问REST服务器之前先通过帐户登录,但实际上并不连接到任何钱包或参与者。因此,在目前的状态下,它没有太多的用处(在我看来)


我所做的解决方法是使用Passport构建Node.js应用程序并添加所需的身份验证策略,然后当通过Passport创建用户时,它还会在composer rest服务器上创建一个参与者并将其链接起来。

但OAuth2.0也是Passport策略(即,它是除LDAP等之外的passport实现之一)…您使用了什么身份验证策略?您如何链接参与者和Passport用户?我使用Passport local,但任何身份验证策略都会起作用。创建一个单独的独立节点应用程序。然后安装Passport.js。创建一个注册用户的路由,然后将该数据发送到composer rest server POST route,供所需参与者使用t、 查看此github repo以获取示例:感谢您的评论…我查看了您链接到的应用程序,但-据我所知-该应用程序未使用Passport.js…您是否错误地链接到了错误的应用程序,或者我没有看到什么?另一个问题:我开发了一个angular应用程序…验证将在我们之间进行安装angular应用程序和rest服务器(这是一个node.js应用程序)…因此,我需要一个angular应用程序的示例,使用passport local对某些服务器进行身份验证。您是否知道这方面的示例(即angular应用程序使用passport local进行身份验证)?