명지대학교 학생 인증 및 정보 조회를 위한 Python 라이브러리
Project description
mju-univ-auth
명지대학교 통합 인증(SSO) 및 학생 정보 조회 Python 라이브러리
1. 목적
이 라이브러리는 명지대학교 학생들이 프로그래밍 방식으로 학교 시스템에 접근할 수 있도록 지원합니다.
주요 기능
- SSO 로그인: 명지대학교 통합 로그인 시스템을 통한 인증
- 학생카드 조회: 학번, 이름, 학과, 학적상태 등 기본 정보 조회
- 학적변동내역 조회: 학적 변동 이력 조회
- 다양한 서비스 지원: LMS, 포털, MSI, MyiCAP, 도서관 등
활용 사례
- 개인 학사 관리 자동화
- 학생 정보 기반 애플리케이션 개발
- 학교 시스템 연동 봇 제작
2. 사용법
설치
pip install mju-univ-auth
기본 사용법
학생카드 정보 조회
from mju_univ_auth import StudentCard
# 학번과 비밀번호로 학생카드 정보 조회
student_card = StudentCard.fetch(
user_id="학번",
user_pw="비밀번호"
)
# 정보 확인
print(f"이름: {student_card.name_korean}")
print(f"학번: {student_card.student_id}")
print(f"학과: {student_card.department}")
print(f"학년: {student_card.grade}")
print(f"학적상태: {student_card.status}")
# 딕셔너리로 변환
data = student_card.to_dict()
학적변동내역 조회
from mju_univ_auth import StudentChangeLog
# 학적변동내역 조회
change_log = StudentChangeLog.fetch(
user_id="학번",
user_pw="비밀번호"
)
# 정보 확인
print(f"학번: {change_log.student_id}")
print(f"이름: {change_log.name}")
print(f"학적상태: {change_log.status}")
print(f"이수학기: {change_log.completed_semesters}")
# 딕셔너리로 변환
data = change_log.to_dict()
SSO 로그인 (저수준 API)
다양한 명지대학교 서비스에 직접 로그인할 수 있습니다.
from mju_univ_auth.sso import MJUSSOLogin
# SSO 로그인 객체 생성
sso = MJUSSOLogin(user_id="학번", user_pw="비밀번호")
# 서비스별 로그인 (session 객체 반환)
session = sso.login(service='msi') # My iWeb
session = sso.login(service='lms') # e-Class (LMS)
session = sso.login(service='portal') # 통합정보시스템
session = sso.login(service='myicap') # MyiCAP
session = sso.login(service='library') # 도서관
# 반환된 session으로 추가 요청 가능
response = session.get("https://msi.mju.ac.kr/...")
예외 처리
from mju_univ_auth import (
StudentCard,
MjuUnivAuthError,
InvalidCredentialsError,
NetworkError,
SessionExpiredError
)
try:
student_card = StudentCard.fetch(user_id="학번", user_pw="비밀번호")
except InvalidCredentialsError:
print("아이디 또는 비밀번호가 올바르지 않습니다.")
except NetworkError:
print("네트워크 연결에 실패했습니다.")
except SessionExpiredError:
print("세션이 만료되었습니다.")
except MjuUnivAuthError as e:
print(f"오류 발생: {e}")
환경 변수 사용 (권장)
보안을 위해 환경 변수나 .env 파일을 사용하는 것을 권장합니다.
import os
from dotenv import load_dotenv
from mju_univ_auth import StudentCard
load_dotenv()
student_card = StudentCard.fetch(
user_id=os.getenv('MJU_ID'),
user_pw=os.getenv('MJU_PW')
)
.env 파일 예시:
MJU_ID=학번
MJU_PW=비밀번호
상세 로그 출력
디버깅을 위해 상세 로그를 활성화할 수 있습니다.
student_card = StudentCard.fetch(
user_id="학번",
user_pw="비밀번호",
verbose=True # 상세 로그 출력
)
3. 이종 언어를 위한 서버 요청
4. 기술적 설명
라이선스
이 프로젝트는 MIT 라이선스 하에 배포됩니다.
주의사항
- 이 라이브러리는 비공식 라이브러리입니다.
- 명지대학교 학생만 사용할 수 있습니다.
- 개인 정보 보호를 위해 비밀번호를 코드에 직접 작성하지 마세요.
- 과도한 요청은 서버에 부담을 줄 수 있으니 적절히 사용해주세요.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mju_univ_auth-0.3.0.tar.gz
(19.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mju_univ_auth-0.3.0.tar.gz.
File metadata
- Download URL: mju_univ_auth-0.3.0.tar.gz
- Upload date:
- Size: 19.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d16b1cace1ff95728a9aabf658376f9cee3fe960148ccc9edae8a96950799cb8
|
|
| MD5 |
91b928932bde31e793ddf5ca78ff778a
|
|
| BLAKE2b-256 |
168b0e9f64f3661af88422f7660444b2566a11961e254d9bba71939742e51445
|
File details
Details for the file mju_univ_auth-0.3.0-py3-none-any.whl.
File metadata
- Download URL: mju_univ_auth-0.3.0-py3-none-any.whl
- Upload date:
- Size: 24.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44d17a823beee84be304439a12190867a4bfe2803da1e0aa36f88724efd4d73b
|
|
| MD5 |
de2e641692bc6347f60c5dd3ee3c3228
|
|
| BLAKE2b-256 |
9b7279ab3428ff0556d0bf0f198ed211679df2d575c2505fd8cb2934dc0045f9
|