Skip to main content

.env.dabory 와 Gate Token

제 2장 Rest Api의 구성(https://manual.dabory.com/books/frontend-tutorial/chapter/restfull-api)에서 Gate Token에 대한 내용을 다뤘으니 참조하시고 해당 장을 숙지하시면 이해하는데 도움이 됩니다.

dabory Gate Token(DGT) 순서도

로그인한 유저가 유저페이지에 접근합니다.

 백엔드 서버에서 secret_keykey_pair를 통해서 해당 업체의 db를 생성합니다. (erp_center_db, erp_memory_db,   erp_individual_dbs)

[ KeyPair/PublicKey 등을 를 생성하는 일반적인 PHP Code ](https://www.php.net/manual/en/function.sodium-crypto-box-seal.php).

 프론트엔드서버에 생성된 db를 제공합니다.(driver, host, username, database, passwd, public_key) -> client config

 유저가 메뉴나 링크를 클릭합니다.

[DGT 생성과정 시작]

 백엔드 api 서버에 DGT를 요청합니다.

api 서버에서 프론트엔드에서 보낸 사용자의 client config를 통해 랜덤한 20자의 문자열을 생성하고 Sodium을 통해 암호화합니다.

백엔드에서 DGT를 생성하여 저장하고 status 200, DGT를 반환합니다.

프론트엔드에서 반환받은 DGT를 세션에 저장합니다.

만약 DGT가 존재하지 않는다면 DGT를 받아오는 과정이 생략됩니다.

[Main Request]

이제 프론트엔드에서 보낸 모든 요청에 DGT가 포함되어 요청합니다.

[DCS 생성과정 시작]

백엔드에서는 DGT를 통해 DCS를 생성하여 반환합니다.

만약 memory_db에 저장된 DGT가 존재하지 않는다면 DCS를 받아오는 과정이 생략됩니다.

검증된 DCS를 통해 사용자 DB(erp databases)의 모델에 접근합니다.

사용자 db로부터 요청한 data를 얻고 반환합니다.

[요청 끝]