2017-11-14 8 views
0

Hyperledger Composer 문서에 제공된 자습서를 따르고 있지만 내가 얻고 있어야하는 결과가 나타나지 않습니다. 특히 REST 서버에 대해 다중 사용자 모드를 사용하려고 시도하고 REST API 탐색기를 사용하여 비즈니스 네트워크 REST API 작업 중 하나를 호출하려고하면 항상 HTTP 401 Authorization Required이 표시됩니다. Tutorial에 따르면이 오류가 발생하는 이유는 REST API에 올바르게 인증되지 않았기 때문입니다. 그러나이 오류가 발생하는 이유 또는 해결 방법을 언급하지 않았습니다.Hyperledger Composer REST 서버에 대한 다중 사용자 모드에서 401 오류가 발생했습니다.

응용 프로그램 개발에서 API를 요청하려는 각 사용자를 인증하는 것이 매우 중요합니다.

+0

- 인증을 위해 카드를 내 보낸 후 가져 왔습니까? (해당 링크에 설명 된대로 'POST/지갑/가져 오기'작업을 사용하여 지갑 단계에 추가)? 다중 사용자 모드의 인증 방법은 Github? –

답변

0

어떤 Hyperledger Composer 버전을 사용하고 있습니까? 참조하는 자습서/문서는 v0.15.0에 적합하며 이전 버전에서는 약간 다르게 작동합니다.

액세스 토큰은 브라우저 창 상단에 있습니다. 이는 성공적으로 인증되었으며 월렛에 대한 단계를 계속할 수 있음을 나타냅니다.

표시되는 액세스 토큰이 보이지 않는 경우 http://localhost:3000/auth/github과 유사한 URL로 REST 서버를 다시 방문하고 로그인하십시오.

여전히 문제가 발생하는 경우 다중 사용자 모드없이 인증을 사용하고 인증이 제대로 작동하는지 확인하는 것이 좋습니다.

+0

CLI를 통해 새 ID를 발급하고 'POST/wallet/import'를 통해 내 지갑으로 가져올 수 있었지만 새 게시물에 노출 될 다른 문제가 발생했습니다. 이 [Post] (https://stackoverflow.com/a/47305841/8122280)에 제안 된대로 $ {HOME} /. 작곡가 폴더를 삭제 한 후에 새로운 ID를 발급 할 수 있다는 사실을 기억하십시오. 이것은 비정상적인 해결책으로 보인다. – HernandezRamiro

0

약간의 연구 끝에 해결책을 찾았고 나를 위해 일했습니다. 이미 Github 인증을 사용하는 경우 무시하십시오. 그렇지 않으면 먼저이 자습서 Enaling Authentication에 따라 인증을 활성화하십시오. 이 명령을 사용하여 네트워크에서 관리 카드를 보냅니다 시작 나머지 서버 전에

: 시간의 휴식 후

composer-rest-server -c [email protected] -p 3000 -a true -m true 

:

composer card export -n [email protected] -f admincard.card 

지금이 명령을 사용하여 인증을 나머지 서버를 시작 서버가 시작됩니다. 먼저 인증을 위해 다음 링크를 방문하십시오. http://localhost:3000/auth/github

인증 성공 후 액세스 토큰이 표시되고 아래에 월렛 옵션이 표시됩니다. 이제 네트워크에서 이미 내보내는 카드를 가져와야합니다. 그게 전부입니다, 당신은 당신의 네트워크에 무엇이든 추가 할 수 있습니다.