모델링 작업 (.CTO파일)
작성날짜 2019.03.30
Ver 0.0.3
namespace org.example.mynetwork
/**
Oauth를 사용해 로그인을 한 경우
사용자 정보 유형을 추가
*/
enum OauthClass{
o kakao // kakao login
o naver // naver login
o google // google login
o nothing // 일반 회원가입
}
abstract participant User identified by userId{
o String userId // 사용자 식별 ID
o String userEmail // 사용자 식별 Email
o String userName // 사용자 이름
o String userBirth // 사용자 생년월일
o String account default = "normal" // 그룹 내 사용자 유형
o Boolean state default = true // 회비 지불 유/무
o OauthClass oauth default = "nothing" // 사용자 로그인 유형
}
participant Group extends User{
o String groupName // 사용자 그룹 명
}
asset GroupPay identified by groupName{
o String groupName // 사용자 그룹 명
o Double pay // 그룹 회비 금액
o Double participantNum // 회비 납부 인원 수
o Double nowPay // 현제까지 납부 된 회비
}
// 회비 납부 트랜잭션 속성 선언
@returns(String)
transaction SendMoney{
--> Group accoutant
--> Group normal
--> GroupPay groupPay
}
// 사용자 유형 변경 트랜잭션 속성 선언
@returns(String)
transaction ChangeAccount{
--> Group Master
--> Group Accoutant
--> Group Normal
}
수정 사항
1. 사용자 가입 유형을 선언
- 최근 트랜드에 맞추어 사용자 제공 홈페이지에 Oauth를 이용한 로그인 적용
- 현제 Kakao, Naver는 성공
- Google Oauth의 경우 현제 구현 중
2. 사용자 유형 변경 트랜잭션 선언
- 회계가 바뀌었을 경우 관리자에게 회원 유형 변경 요청
- 관리자는 사용자를 회계/일반 사용자로 변경 가능하도록 구현
ISSUE
1. 사용자 식별 Id가 모든 Oauth에 존재 여부와 회원가입 시 생성되는 값을 만들 수 있는지 알 수 없음
- Kakao Oauth의 경우는 ID가 존재 함 (10자리의 숫자)
- 일반 회원가입 사용자의 경우 ID는 본인의 ID가 됨
- 일반 회원가입 사용자는 로그인 시 본인이 작성한 ID를 입력하여 로그인
- Oauth 로그인의 경우 Email혹은 전화번호로 로그인
'Blockchain (Hyperledger Fabric) > 작업 중인 Solution' 카테고리의 다른 글
Hyperledger Composer 정리 (0) | 2019.04.19 |
---|---|
Hyperledger Composer Logic(Transaction 수행) Ver. 0.0.3 (0) | 2019.03.30 |
Hyperledger Composer Logic(Transaction 수행) Ver. 0.0.2 (0) | 2019.02.27 |
Hyperledger Composer 모델링 작업 Ver. 0.0.2 (0) | 2019.02.27 |
Hyperledger Composer Queries 작성 Ver. 0.0.1 (0) | 2019.02.22 |