domino8788 / SKHUMap

SKHU MAP
1 stars 0 forks source link

학사행정시스템 로그인 #80

Closed domino8788 closed 4 years ago

domino8788 commented 4 years ago

※ 이슈에 수정 불가능한 표기가 생겨서 새 이슈로 재작성 한다.

학사행정시스템의 정보를 조회하기 위해 로그인 하는 기능을 구현한다.

domino8788 commented 4 years ago

시작부터 문제가 발생했다. 학사행정시스템의 url은 http://sam.skhu.ac.kr 으로 Angularjs 와 Spring 으로 만들어진 것으로 추정되는데 인증은 http://cas.skhu.ac.kr 에서 이루어진다. 그러므로 sam.skhu.ac.kr 에 접근을 시도하면 cas.skhu.ac.kr로 리다이렉션 되며 get 방식으로 추정 불가능한 파라미터가 따라온다. cas.skhu.ac.kr 에서 로그인을 시도할 때의 자바 스크립트 동작을 파악해서 쿠키랑 세션을 얻어보려 했지만 최종적으로 Angularjs 가 sam.skhu.ac.kr 로 리다이렉션 하는 링크를 반환할때 파라미터 생성 규칙을 도저히 추측 할 수 없었다.

domino8788 commented 4 years ago

이에 대한 방안으로 WebView를 이용해 로그인하고 쿠키와 세션을 얻어내는 방식을 도입해보고 있다. 현재 테스트 중이며 가능하다 판단되면 해당 방식으로 진행하도록 한다.

domino8788 commented 4 years ago

위의 방안을 통해 로그인 페이지를 띄우는데 성공했으며 cas.skhu.ac.kr 의 페이지를 로드하는데 까지 성공했다. 해당 테스트의 성공여부는 아무 입력없이 코드를 통해 로그인 된 페이지를 띄우는게 가능할때로 한다.

domino8788 commented 4 years ago

테스트 결과 계정정보(id, password)를 기반으로 쿠키를 얻어서 로그인 된 페이지를 띄우는데 성공했다. 이어서 해당 결과물을 통해 시간표 파싱도 성공했다.

34 이슈의 구현을 선행하고 이슈를 진행한다.

domino8788 commented 4 years ago

위의 커밋을 통해 구현을 완료했으므로 이슈를 닫는다.