我正在开发一个基于fabric 1.3的应用程序。我已经建立了一个多节点设置的网络,连接了对等体,实例化了链码,并使我的网络为调用和查询做好了准备。
现在,我正在考虑制作一个登录门户,用户可以通过它注册/注册并执行调用/查询。我的所有同行和订购者都在云上,并且正在计划使用云实例上公开的节点SDK提供这个登录特性。
我查看了官方文档:https://hyperledger-fabric-ca.readthedocs.io/en/latest/users-guide.html#registering-a-new-identity
我可以看到,我们需要fabric-ca组件来注册用户并为查询注册用户。注册后,我们在~/.hfc-key-store下得到一个证书文件。
现在我想知道我应该如何继续我的流程。
用户在网络上注册:
fabric_ca_client.register({enrollmentID: 'user1', affiliation: 'org1.department1'}, admin_user)
用户使用其机密登录:
fabric_ca_client.enroll({enrollmentID: 'user1', enrollmentSecret: secret});
}).then((enrollment) => {
console.log('Successfully enrolled member user "user1" ');
return fabric_client.createUser(
{username: 'user1',
mspid: 'Org1MSP',
cryptoContent: { privateKeyPEM: enrollment.key.toBytes(), signedCertPEM: enrollment.certificate }
});
}).then((user) => {
member_user = user;
return fabric_client.setUserContext(member_user);
作为用户1调用/查询:
var store_path = path.join(os.homedir(), '.hfc-key-store');
Fabric_Client.newDefaultKeyValueStore({ path: store_path
}).then((state_store) => {
// assign the store to the fabric client
fabric_client.setStateStore(state_store);
var crypto_suite = Fabric_Client.newCryptoSuite();
// use the same location for the state store (where the users' certificate are kept)
// and the crypto store (where the users' keys are kept)
var crypto_store = Fabric_Client.newCryptoKeyStore({path: store_path});
crypto_suite.setCryptoKeyStore(crypto_store);
fabric_client.setCryptoSuite(crypto_suite);
// get the enrolled user from persistence, this user will sign all requests
return fabric_client.getUserContext('user1', true);
}).then((user_from_store) => {
if (user_from_store && user_from_store.isEnrolled()) {
console.log('Successfully loaded user1 from persistence');
member_user = user_from_store;
} else {
throw new Error('Failed to get user1.... run registerUser.js');
}..
现在,当一个用户注销时,我该怎么做呢?是否删除~/.hfc-key-store证书?因为这些证书将存储在运行节点脚本的服务器端,所以没有意义。
还有,我的流程是否正确,或者是否有更好的方法来实现我的目标?
我有一个类似的登录实现,我必须执行,正如您所说的,我为每个注册用户创建了证书,并在MongoDB中存储了基本的用户信息。
我使用的流程是,一旦用户注册,就会创建用户证书,并将其登录凭据(如用户名和密码)存储在MongoDB中。
当用户尝试重新登录时,我会检查MongoDB以及认证,看看用户是否已经注册,一旦登录,用户就会拥有一个身份验证令牌,然后他可以使用该令牌与Fabric客户端交互。
我想使用 Firebase 构建一个 Android 应用。Firebase 提供了登录屏幕 https://github.com/firebase/firebase-login-demo-android 的演示代码。 但是,我希望用户能够使用用户已经在Android的集中式帐户管理器中输入的帐户信息,而不是让用户输入他们的帐户信息。 我已经在 https://developer.android.
我需要一些有关Azure API管理服务的帮助。 目前,我们有一个单页应用程序,它使用Azure上托管的两个后端服务(WebApi.NETCore)。为了对用户进行身份验证和授权,我们使用IdentityServer(也作为服务托管在Azure上)SubscriptionService。在这里,IdSrv对用户进行身份验证,并定义webapp可以访问哪些api。如果用户拥有给定API的权限,Sub
这是服务到服务身份验证中概述的规则的一个例外吗?该规则规定需要设置为接收服务的url(例如https://xxxxx.run.app)。和是一回事吗? 最后,除了使用googlecloudsdk(即imaging不存在)之外,是否还有其他方法使用用户帐户而不是服务帐户进行身份验证?
问题内容: 我想在Jenkins管道中使用,因此必须首先使用Google Service帐户进行身份验证。我正在使用https://wiki.jenkins.io/display/JENKINS/Google+OAuth+Plugin,其中包含我的私钥凭据。我一直坚持将凭据加载到管道中: 我也尝试过from档案,但是没有运气。 日志显示: 问题答案: 您需要将您的“服务帐户” JSON文件作为 机
我的团队目前正在开发一个应用程序,使用Admin SDK在GCP中列出公司的域用户,用于入职和非入职目的。 我们使用一个服务帐户来完成这个任务,并且在Google Admin's advanced settings中添加了 作用域。管理SDK API被激活,我们可以在凭据区域中看到服务帐户。 当我们使用参数 和 调用https://www.googleapis.com/admin/director
我有一个带有AzureSQL后端的MS Access前端应用程序(accdb)。我目前正在使用SQL服务器身份验证,但我想使用某种活动目录。我没有本地广告,所以我最初考虑设置Azure广告。然而,我们的小团队已经在使用Office 365,据我所知,O365由Azure AD提供支持。 所以我的问题是,是否可以使用O365帐户(微软通常称之为“工作帐户”)来针对Azure SQL后端进行身份验证?