2장. Restfull API 구성

다보리 Gate Token 개념

SSO에 가입한 사용자는 로그인후 접속정보를 통해 ClientId와 PublicKey를 발급받습니다. 최초에 작성된 sodium key pair는 sso 서버에 저장됩니다.

(Front-end) - - - - > {Client Id, BA64 Key} - - - - > (Back-end)

                                  gateToken 생성

(Back-end) - - - - > {gate token} - - - - > (Front-end)

Front-end에서 최초 발급된 ClientId와 사용자의 db 접속정보가 암호화된 BA64 Key를 Back-end로 전송하면 Back-end에서 Gate Token을 생성하여 반환하면 Front-End에서 session에 토큰을 저장하여 사용할 수 있습니다. 이 Gate Token을 통해 사용자를 검증하고 세션을 유지시켜줍니다. 또한 Gate token을 발급받은 사용자는 한번의 로그인으로 다수의 API 서버와 연동할 수 있습니다.

[Gate Token 순서도]

https://manual.dabory.com/books/frontend-tutorial/page/envdabory-gate-token

다보리 API 설계의 기본 지식

HTTP Method 및 보안성:

DaborySSO 및 환경 변수:

GateToken:

이러한 설계 원칙을 준수하여 안전하고 효율적인 API 시스템을 구축할 수 있습니다.

PAP(pick-act-page) API 설명

PAP(pick-act-page) API란?

PAP(pick-act-page) API는 다보리 컴포저블 앱에서 개별 Table 단위의 데이터 처리를 위한 API 구조를 정의하는 방법입니다. 이 API 구조는 데이터의 추출(Pick), 실행(Action), 그리고 페이지네이션(Page) 세 가지 api를 포함하고 있습니다.

*API 공용 Json Structure 정의

"PageVars": {
  "QueryCnt": "string",//Response 시에만 유효한 값, Where 절에 걸리는 Row Count - Request 시에는 지정하지 않아도 됩니다.
  "Query": "string",//Query의  Where Clause의 내용과 같은 문법으로 지정 가능합니다. (And / Or 조건 지정 가능)
  "Fields": "string",// 가져올 필드를 지정합니다, 필드 자체를 뺄 수는 없지만, 해당값을 Empty 처리가 가능합니다. (지정하지 않으면 all)
  "Asc": "string",// ORDER BY  *** ASC  지정 가능합니다.
  "Desc": "int",// ORDER BY  *** DESC  지정 가능합니다.
  "Limit": "int",// 한번 페이징에서 가져오는 Row  갯수,  반드시 지정필요, 10개 Default
  "Offset": "int",// Where로 필터된 rows 중 가져오는 첫번째 레코드 레코드 옵셋 지정 가능
  "ReturnJson": "string",//일반적으로 필터링 하는 지정 조건 값을 서버로 보냈다가 받을 수 있습니다.
}