Многопользовательский режим Hyperledger Composer для сервера REST выдает ошибку 401

Я следил за учебными пособиями, которые представлены в документации Hyperledger Composer, но я не получаю результатов, которые они должны были получить. В частности, когда я пытаюсь включить многопользовательский режим для сервера REST и пытаюсь вызвать одну из операций REST API бизнес-сети с помощью обозревателя REST API, я всегда получаю ошибку HTTP 401 Authorization Required. Согласно Учебнику, если я получаю эту ошибку, я не прошли проверку подлинности в REST API, но в нем не упоминается, почему возникает эта ошибка или как я могу ее исправить.

Для разработки приложений очень важно иметь возможность аутентифицировать каждого пользователя, который хочет делать запросы к API.


person HernandezRamiro    schedule 14.11.2017    source источник
comment
для удостоверения личности, с которым вы проходите аутентификацию - вы экспортировали карту для нее - затем импортировали ее (шаг добавления в кошелек с использованием операции POST /wallet/import, как описано в этой ссылке)? Какой метод аутентификации для многопользовательского режима вы настроили - Github??   -  person Paul O'Mahony    schedule 14.11.2017


Ответы (2)


Какую версию Hyperledger Composer вы используете? Учебник/документ, на который вы ссылаетесь, верен для версии 0.15.0 и немного отличается для предыдущих версий.

Если вы видите токен доступа в верхней части окна браузера, это означает, что вы успешно прошли аутентификацию и можете продолжить выполнение действий для кошелька.

Если вы не видите отображаемый токен доступа, убедитесь, что вы указали на своем REST-сервере URL-адрес, похожий на http://localhost:3000/auth/github еще раз и войдите в систему.

Если у вас по-прежнему возникают проблемы, я бы посоветовал вернуться к простому использованию аутентификации без многопользовательского режима и убедиться, что аутентификация работает правильно.

person R Thatcher    schedule 15.11.2017
comment
Мне удалось создать новые удостоверения через CLI и импортировать их в мой кошелек через POST /wallet/import, но у меня возникли другие проблемы, о которых я расскажу в новом посте. Важно отметить, что я смог создать новые идентификаторы после удаления папки ${HOME}/.composer, как это предлагается в этом Post, что кажется необычным решением. - person HernandezRamiro; 16.11.2017

После некоторых исследований я нашел решение и работал на меня. Если вы уже включили аутентификацию Github, игнорируйте. В противном случае сначала включите аутентификацию, следуя этому руководству по Включение аутентификации.

Перед запуском сервера отдыха вы экспортируете свою карту администратора из сети с помощью этой команды:

composer card export -n admin@sample-network -f admincard.card

Теперь запустите сервер отдыха с аутентификацией с помощью этой команды:

composer-rest-server -c admin@sample-network -p 3000 -a true -m true

Через некоторое время сервер запустится. Теперь сначала перейдите по этой ссылке для аутентификации: http://localhost:3000/auth/github

После успешной аутентификации вы получите токен доступа, а также вы увидите параметры кошелька ниже. Теперь вам нужно импортировать карту, которую вы уже экспортировали из своей сети. Вот и все, вы можете добавить что угодно в свою сеть.

person Faysal Ahmed    schedule 23.11.2017