SOOJLE
1.0.0
1.0.0
  • SOOJLE Document
  • 프로젝트 요약
  • 프로젝트 개요
    • 프로젝트 소개
    • 추진 배경 및 필요성
    • 프로젝트 내용
      • 기능적 요구사항
      • 비기능적 요구사항
    • 개발환경 및 팀 구성
    • 워크플로우
      • 계획 수립 & 설계
      • 데이터 수집 및 정규화
      • 인공지능 개발
      • 서비스 모듈 개발
      • 성능 평가 및 보고
    • 프로젝트 예산 내역
  • 사전조사 & 의사결정
    • 사전조사
      • 재학생 대상 사전조사
      • 수집 URL 대상 목록
        • 세종대학교 직할
        • 세종대학교 학과
        • 공식 공지사항
        • 세종대 평생교육원
        • 외부 웹사이트
      • 학습 모델 사전조사
        • LSA - 잠재 의미 분석
        • LDA - 잠재 디리클레 할당
        • Word2Vec - 워드투벡터
        • FastText - 패스트텍스트
    • 의사결정
      • 사용자 인증 방식 의사결정
      • 데이터베이스 의사결정
        • MySQL vs MongoDB 성능 분석
      • 토픽별 의사결정
      • 부가 기능 의사 결정
  • 프로젝트 설계
    • 시스템 구조 설계
    • 핵심 기능 설계
      • 데이터 크롤러 설계
      • 게시물 토픽 정의 및 분류
      • 사용자 관심분야 측정
      • 뉴스피드 설계
        • 사용자-문서 유사도(Recommendation Score)
        • FaS (관심 분야 및 유사도 측정 - 추가)
        • 토픽 뉴스피드 목록
      • 검색 알고리즘 설계
        • 검색 알고리즘 1차 설계
        • 검색 알고리즘 1차 개선안
        • 검색 알고리즘 2차 설계
    • 요구사항 목록
      • DB 요구사항
      • 기능 요구사항
      • 품질 요구사항
      • 관리 요구사항
  • DB
    • 구조 설계
    • 테이블 명세
  • 데이터 크롤러
    • 데이터 크롤러 개요
    • 크롤링 URL 선정
    • 크롤러 구현을 위한 사전조사
    • 크롤러 개발 과정
      • 크롤러 프로그램 설계
      • 크롤러 규격화
      • 크롤러 정규화
      • 데이터 정제 과정
      • 에러 핸들러 구현
      • 배포 환경 이식을 위한 Porting
    • Issue & Exception
    • 결과 보고
  • 인공지능 개발
    • 인공지능 개발 개요
    • NLP 스터디
      • Bag of Words(BoW)
      • Document Term Matrix(DTM)
      • TF-IDF(Term Frequency-Inverse Document Frequency)
      • 문서 유사도(Document Similarity)
    • 데이터 전처리 과정
    • 개발 과정
      • 토크나이저 구현
      • LDA 모델 학습 및 구현
    • LDA 학습 모델링
      • 1차 파라미터 튜닝 결과 (NUM_TOPICS)
      • 2차 파라미터 튜닝 결과 (NUM_TOPICS)
      • 3차 파라미터 튜닝 결과 (NUM_TOPICS)
      • NUM_TOPICS 파라미터 의사결정
      • 4차 파라미터 튜닝 결과 (PASESS, ITERATION)
      • 최종 학습 모델 명세
    • Word2Vec(FastText) 학습 모델링
    • Issue & Exception
    • 성능 분석 결과
  • BackEnd
    • 서버 구축 및 배포
      • SOOJLE 서버 구조
      • 상용 서버 (UWSGI + NGINX) 구축
      • HTTPS 서버 구현
    • API 문서 개요
    • API 목록
      • Analysis
      • Auth API
      • Newsfeed API
      • Post API
      • Search API
      • Admin API
    • 세종 Auth API
    • 통계 기능 설계
    • Issue & Exception
    • 성능 분석 결과
  • FRONTEND
    • 프론트엔드 설계 개요
    • 디자인 설계 의사결정
      • 디자인 컨셉 및 기능 정의
      • 컴포넌트 디자인
      • Logo Variation
    • 화면 흐름도
    • 페이지 UI 명세
      • Main Page
      • Header
      • Footer
      • Mobile Control Bar
      • Login Page
      • Timeline Page
      • Menu Page
      • Hyperlink Icons Page
      • Search Component & Mobile Search Modal
      • Search Page
      • Post Block
      • Snackbar
  • 프로그램 배포
    • 프로그램 개요
    • 시스템 아키텍쳐
    • 주요 기능 및 명세
    • 프로그램 테스트
    • 구현 결과물 배포
  • 마무리
    • References
  • SOOJLE AI
  • SEJONG AUTH
  • IML Tokenizer
  • SOOJLE Crawler
  • SOOJLE Frontend
  • SOOJLE Backend
Powered by GitBook
On this page
  • 개요
  • API 동작 구조
  • 접근 경로 명세
  • Output
  • 계정 인증 에 성공했을 경우
  • 계정 인증에 실패했을 경우
  • 소스 코드 배포
  • 실행 요구사항

Was this helpful?

  1. BackEnd

세종 Auth API

PreviousAdmin APINext통계 기능 설계

Last updated 5 years ago

Was this helpful?

개요

SOOJLE의 사용자는 기본적으로 세종대학교의 구성원이며, 이들은 모두 세종대학교 포탈 시스템의 계정을 소유하고 있다는 전제하에 본 API를 개발하였다. 본 API를 통해 이미 포탈 계정을 가지고 있는 모든 사용자에 대하여 별도의 회원가입 없이 곧바로 로그인을 수행할 수 있도록 하였다.

API 동작 구조

  • SOOJLE 서비스를 이용하는 사용자가 로그인 페이지에서 ID, PW를 SOOJLE 서버로 전송한다.

  • SOOJLE 서버는 해당 정보를 HTTP 프트로콜을 통해 전송하여 세종대학교 본교 시스템에 접속을 시도한다.

  • 승인이 된다면, 유효한 계정 정보로 인정하고 SOOJLE 서버에서 해당 정보를 바탕으로 자동으로 회원가입을 수행한다.

  • 해당 정보는 SOOJLE DB에 모두 해쉬 처리되어 저장되며, 오직 인증 수단을 위하여 보존된다.

  • 한 번이라도 해당 서비스에 접근한 사용자는 DB의 데이터를 통해 별도의 인증 과정 없이 바로 로그인을 수행한다.

접근 경로 명세

세종대학교 본교 시스템은 모두 포탈 시스템의 인증 체계를 거쳐 수행한다. 해당 Sejong Auth API는 다음과 같은 서비스에 접근하여 로그인을 수행한다.

URL

명세

세종대 LMS

세종대 두드림

세종대 포탈 시스템

각 사이트들의 구조 변화에 의하여 일시적으로 접근이 불가능해질 수 있으며, 3개의 타겟을 대상으로 병렬적으로 접속을 시도하고, 한 곳이라도 승인 판정이 반환되면 해당 계정 정보는 유효하다고 판단한다.

Output

계정 인증 에 성공했을 경우

return {
			"result":True,
			"name":name,
			"id":id,
			"major":major
		}

계정 인증에 실패했을 경우

실패한 요인은, 계정 정보 자체가 유효하지 않을 수도 있지만 시스템 자체에 접속이 되지 않아 인증 자체가 불가능한 상황도 포함된다.

return {"result":False}

소스 코드 배포

실행 요구사항

분류

설명

플랫폼

Github

라이센스

MIT License

분류

버전명

개발 언어

Python 3.7.1

http://sjulms.moodler.kr
https://do.sejong.ac.kr
https://portal.sejong.ac.kr
GitHub - iml1111/SJ_Auth: Crawl-based Sejong University account authenticationGitHub
Logo