연동 토큰 생성하기

이 문서는 연동을 위해 필요한 토큰을 생성하는 방법을 설명합니다.

토큰 정보

연동을 위해서 엘리스로 제공되어야 하는 필수 정보는 다음과 같습니다.

  • 유저 구분자 (uid) : 특정 유저를 유일(unique)하게 구분하기 위해 필요한 값입니다.

    • 귀사의 LMS에서 로그인에 사용하는 유일한 문자열 (user ID, username, email 등) 을 사용할 수 있습니다.

    • 귀사의 LMS의 수강신청 차수에 따라 엘리스에서 수강신청이 이루어지게 하려면 uid 에 차수 정보를 함께 넣어서 사용할 수 있습니다. 엘리스에서는 uid 값이 변하지 않는다면, 기존의 수강신청을 수정하는 형태로 작동합니다. 따라서 수강 차수에 따라 새롭게 수강신청이 되도록 하려면 uid 값을 바꿔주어야 합니다. 가령, 귀사의 LMS에서 유저의 username 이 test1 일 경우 test1_20200801test1_20200901 과 같이 다르게 uid 를 설정하여 엘리스에서 별개의 연동 계정으로 처리되도록 할 수 있습니다.

  • 유저 이름 (fullname) : 엘리스에서 특정 유저의 이름을 표시하기 위해 필요한 값입니다.

  • 이메일 주소 (email) : 엘리스에서 사용하는 각종 이메일 연동 기반 서비스를 사용하기 위해 필요한 값입니다.

    • 이메일이 존재하지 않는 경우, 부득이하게 빈 문자열을 사용할 수 있으나, 일부 서비스 이용에 제한이 있을 수 있습니다.

  • 토큰 생성 시각 (ts) : 토큰을 생성한 시각입니다. 현재 시각의 밀리세컨드 단위 epoch 을 사용합니다. 토큰이 유출되었을 때 재사용을 방지하기 위해 생성 시각과 사용 시각이 300초 이상 차이날 경우 연동이 거절됩니다.

또한 선택적으로 다음과 같은 정보를 제공할 수 있습니다.

  • 과목 아이디 (courseId) : 엘리스에서 자동으로 입과시킬 과목의 아이디입니다. 해당 아이디는 elice 측의 과목 아이디를 기준으로 합니다.

    • 별도의 customize를 통해 귀사의 LMS에서 사용하는 과목 아이디를 사용할 수도 있으나, 이 경우에는 별도의 연동 개발 과정이 필요하며, 새로운 과목을 개설하거나 연결할 때마다 사전 협의 과정을 통해 귀사의 LMS와 엘리스 측 과목 아이디를 맵핑하는 연동 작업을 해야 합니다.

  • 유저 권한 (userRole) : 유저의 권한을 부여하기 위해 필요한 값입니다.

    • 학생: 0 / 교육자: 10 / 관리자: 20

    • 입력하지 않으면 학생 권한을 부여합니다.

    • 교육자와 관리자 권한은 연동 유형이 "홈 연동" 일때 유효합니다.

토큰 생성 방법

토큰은 JSON 직렬화된 토큰 정보를 아래의 암호화 및 직렬화 방법 중 하나를 사용하여 생성할 수 있습니다. 연동 개발의 편의성 측면에서 웹표준인 JWT 방식이 권장되며, 추가적인 보안(기밀성)을 원하실 경우 AES-CBC 방식을 사용하실 수 있습니다.

pageJWT 방식으로 토큰 생성pageAES-CBC 방식으로 토큰 생성page별도 자체 암호화

Last updated