citylabs-study

2일차 study(did API 실습)

seongjin08 2022. 1. 11. 14:37

 https://drive.google.com/drive/folders/1eHx1GARHwnJCsFk7Sz5rL1vBAaruqFKI

 

 

09. Swagger API 설명 - Google Drive

이 폴더에 파일이 없습니다.이 폴더에 파일을 추가하려면 로그인하세요.

drive.google.com

스웨거 란?

지금 공부하는 부분은 DID를 연습하는 것이다.

 

ex) credential -졸업 증명서 / issuer - 대학교 / holder - 학생 / verifier -졸업생이 지원한 회사라고 가정하고 진행한다.

 

먼저 각 agent (대학교,졸업생,회사)의 auth-token 을 생성한다.

사진과 같이 url 과 method 을 지정후 body 에서 raw -> json 형식으로

agentname 과 agentRloe 을 지정후 요청을 보내면 token을 응답해 준다.

이렇게 3개의 토큰을 받아 따로 기록해 둔다.

네트워크에 각 agent를 생성하자.

바디에 아까와 같이 이름과 역할을 적고 Header 에 auth-token 값을 입력후 요청을 보내 보자.

( 만약 이부분 부터 값이 안뜨고 애러가 난다면 postman 톱니모양을 클릭후 -> 셋팅에 들어가서 -> ssl 항목을 off 로 바꾸자)

 

 

conection 을 맺기위한 신청을 해보자.

나는 holder가 신청하는 것을 가장해 holder 의 auth token 값으로 요청을 보냈다.

그림과 같이 응답을 받을 수 있다.

 

  

connection을 보낸 holder 의 요청을 받아보자.

받아줄 사람의 auth-token 을 적어주고 connection을 요청했을때 나온 

invitation 내용을 body값에 담에 보내자.

 

connection 된 것을 확인해 보자. 

url 에 method 를 get으로 header 에 token을 담아서 요청을 보내자

연결이 잘 됬다면 응답으로 연결된 모든 정보를 보여줄 것이다.

 

schema 만들기

header에 issuer에 auth-token 정보를 담아서

credential 에 기록할 attributes 와 schema 의 버전과 이름을 담아서 보내자.

attrubutes 는 담을 항목의 이름을 적자. 지금 값을 적는것이 아닌 credential 의 담고싶은 항목의 이름을 담는 것이다.

 

schema 확인

schema가 잘 만들었는지 확인하기 위해 

header에 issuer의 auth-token 과  url 뒤에 schemaId 을 추가 하여 요청을 보내보자

schema 가 내가 적은 항목대로 잘 만들었는지 확인 할 수 있다.

credential-definition 만들기

issuer 의 auth-token을 이용해 json 형식으로  /getSchema 에서 

얻은 결과물을 schemaId를 포함한 정보를 body에 담아서 요청을 보내자.

credentialSefinitionId 를 얻을 수 있다.

 

만든 credentialSefinition 을 확인해 보자.

issuer 의 auth-token 과  url 에 방금 얻은 credentialSfinitionId 를 뒤에 붙여 

요청을 보내면 확인 할 수있다.

credential 을 발급받자.

holeder 가 issuer 에게 credential을 요청하는 부분이다.

holder 의 auth-token 을 header에 

body에는 holder 의 connectionid 와

schemaId,credentialSefinitionId, schema 의 attributes의  맞게 

작성하여 요청을 보내자.

응답으로 원하는값이 잘 들어 왔는지 확인하자.

 

credential 교환한 기록 확인하기

issuer의 auth-token 과 url 뒤에 connectionid 를 붙여서 요청을 보내야 한다.

만들어진 날짜와 변경한 날짜까지 확인 할 수있다.

 

증명서 발급받기 

issuer 의 auth-token 과 

body에 /getCredentialExchangeTecords 에서 얻은 id 를 보내면 

증명서가 발급된다.

holder 가 발급받은 증명서 다 확인하기

지갑인 셈이다.  holder의 auth-token 만으로도 조회가 가능하다.

여기 까지가 예시로 학생이 학교에 졸업증명서를 발급 받는데 까지 의 과정 이라고 생각하면 된다.