2017-01-19 3 views
0

Я просматриваю образец кода для HFC SDK и видел способы управления пользователями.Как зарегистрировать нового пользователя (с атрибутами) в Hyperledger Fabric Client (HFC)?

Для регистрации существующего пользователя используется следующая функция:

chain.enroll 

Для регистрации и регистрации нового пользователя используется следующая функция:

chain.registerAndEnroll 

Тем не менее, образец кода не обеспечивал пример для функции только для регистрации:

chain.register 

Если я так понимаю, Кроме того, как chain.enroll, так и chain.registerAndEnroll будут сохранять пользовательский ключ/сертификат в машине, где вызываются функции.

Если я хочу, чтобы администратор создавал нового пользователя (например, userA), я не могу использовать функцию chain.registerAndEnroll, так как ключ/сертификат будет сохранен на машине администратора, а не на машине пользователя, поскольку функция выполняет не только реестр, но и регистрацию. Следовательно, моя потребность в регистрации работает только.

Кроме того, как добавить атрибуты для пользователей, использующих HFC, аналогичные атрибутам, которые могут быть определены в memberrvc.yaml?

ответ

1

К сожалению, мне не удалось найти онлайн-ссылку на hcc API doc (хотя вы можете при необходимости создать локальный документ).

Это, как говорится, есть chain.register функция, которая принимает RegistrationRequest объект, а затем возвращает Записаться секретный/пароль, то позже использовать для регистрации нового пользователя:

//create some attributes 
var attributes = [{name:'foo',value:'bar'}]; 
var registrationRequest = { 
    roles: [ role ], 
    enrollmentID: name, 
    affiliation: "bank_a", 
    attributes: attributes, 
    registrar: registrar 
}; 

chain.register(registrationRequest, function(err, enrollmentPassword) { 
    //your code here 

}

+0

Благодарности @Gari , Это очень полезно. Я попробую это. Я хотел бы подтвердить, правильно ли я понимаю, как обычно использовать функцию chain.register: эта функция используется администратором (а не постоянным пользователем). Регистр регистрации и регистрационное имя будут отправляться администратором по электронной почте (или другим способом) пользователю. Пользователь будет использовать функцию chain.enroll для получения его/ее файлов закрытого ключа/сертификата. В этом подходе злоумышленник может попытаться записаться от имени пользователя, но это будет обнаружено пользователем, так как chain.enroll можно вызвать только один раз. Это верно? –

Смежные вопросы