콘텐츠로 이동

FAQ

네. pro-sejongpeia는 세종대학교 포털 로그인(SSO)을 대신 처리하고, 로그인 없이 쓰는 학교 데이터도 제공하는 Java, Python, Node.js 통합 라이브러리입니다. 학번과 비밀번호로 재학 상태, 학과, 학년, 고전독서 인증, 연락처를 조회합니다. 소개와 빠른 시작을 보세요.

아니요. 라이브러리는 비밀번호를 저장하지 않고 포털 로그인 요청에만 씁니다. 라이브 데모 서버도 결과만 돌려주고 입력값을 저장하지 않습니다. 여러분의 서비스에서도 비밀번호를 로그나 DB에 남기지 않도록 주의하세요.

세종대학교 공식 라이브러리인가요?

섹션 제목: “세종대학교 공식 라이브러리인가요?”

아닙니다. 세종대 학생이 만든 개인 오픈소스이며 학교와 제휴 관계가 없습니다. 포털 구조가 바뀌면 동작이 멈출 수 있습니다.

언어 요구 사항
Java Java 17 이상, Spring Boot 3.x (Spring 없이도 쓸 수 있습니다)
Python Python 3.9 이상, 표준 라이브러리 외 의존성 없음
Node.js Node 18 이상, 의존성 0개, TypeScript 타입 포함, ESM·CommonJS 지원

세 언어의 결과는 같은가요? 어느 언어를 쓸까요?

섹션 제목: “세 언어의 결과는 같은가요? 어느 언어를 쓸까요?”

기능, 에러 코드, 결과 필드, 값 규칙은 같고 테스트가 지킵니다. 이름 표기(snake_case / camelCase)와 일부 언어 전용 기능만 다릅니다. 쓰는 스택에 맞는 언어를 고르면 됩니다. 자세한 내용은 API 안정성에 있습니다.

라이브 데모로 먼저 확인해 보세요. 데모도 실패하면 포털 쪽이 바뀌었을 가능성이 높습니다. 메시지가 아닌 에러 코드를 확인하고 (에러 코드), 이슈에 에러 코드와 함께 남겨 주세요. 학번과 비밀번호는 올리지 마세요. 절차는 이슈와 PR에 있습니다.

비밀번호를 여러 번 틀리면 포털이 계정을 잠그고, 라이브러리는 ACCOUNT_LOCKED를 돌려줍니다. https://portal.sejong.ac.kr/jsp/inquiry/pwinquiry.jsp 에서 본인 확인 후 비밀번호를 재설정하세요. 기다린다고 풀리지 않고, 라이브러리가 대신 풀 수도 없습니다. 라이브러리는 거부된 로그인을 재시도하지 않고 첫 실패에서 멈춥니다. 누구나 학번을 입력할 수 있는 서비스라면 학번별 실패 횟수를 제한하세요. (로그인 판정과 계정 잠금 방지)

빈 목록이 오면 데이터가 없는 건가요, 학교에 문제가 있는 건가요?

섹션 제목: “빈 목록이 오면 데이터가 없는 건가요, 학교에 문제가 있는 건가요?”

둘을 구분하지 못합니다. 공개 데이터는 한 소스가 실패해도 예외를 던지지 않고 마지막 캐시 값이나 빈 목록을 돌려줍니다. 화면에는 「불러오지 못했습니다」 같은 안내를 함께 두는 것이 좋습니다. (실패 격리와 캐시)

학교 데이터는 얼마나 자주 갱신되나요?

섹션 제목: “학교 데이터는 얼마나 자주 갱신되나요?”

결과를 메모리에 캐시하며 기본 24시간입니다 (cache_ttl_seconds 기본 86400). 신선한 캐시가 있으면 학교에 요청하지 않고, 같은 요청은 한 번만 보냅니다. SejongPublicData는 프로세스당 하나만 만들어 쓰세요. (공통 규칙)

브라우저나 앱에서 직접 호출해도 되나요?

섹션 제목: “브라우저나 앱에서 직접 호출해도 되나요?”

아니요. 서버에서만 호출하세요. 브라우저나 앱에서 직접 부르면 비밀번호가 제3자 코드에 노출됩니다. Node.js 패키지도 서버 전용입니다.

포털이 바뀐 것 같아요. 어떻게 알리나요?

섹션 제목: “포털이 바뀐 것 같아요. 어떻게 알리나요?”

매일 실제 포털로 점검이 돌고 이상이 있으면 이슈가 자동으로 열립니다. 그래도 먼저 알아챘다면 에러 코드와 사용한 메서드를 적어 이슈로 알려 주세요. (매일 도는 실제 포털 점검)

공개 이슈가 아니라 GitHub의 비공개 신고를 이용해 주세요. 실제 학번, 비밀번호, 개인정보는 넣지 마세요. 자세한 내용은 이슈와 PR에 있습니다.

MIT입니다. 세종대학교 교표의 권리는 세종대학교에 있습니다.