Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for new KAIST SSO IdP #301

Merged
merged 23 commits into from
Mar 31, 2025
Merged

Conversation

jungnoh
Copy link
Member

@jungnoh jungnoh commented Mar 27, 2025

작업 내용

  • 신규 KAIST SSO IdP 지원 추가
    • 신규 SSO의 로그인 플로우 추가
    • 회원가입 페이지, 프로필 페이지에 관련 UI 추가
    • 로그인 콜백 및 회원가입 플로우에서 kaist_v2 지원하도록 변경
    • 기존 SSO와는 유저 정보 필드들이 호환되지 않는 부분들이 있어 kaist_v2_info 필드를 추가해 정보를 담음
  • SSO init 플로우 관련 js 코드 재사용성을 높이고, 좀 더 모던 js 기능 사용하도록 변경
  • 기타
    • Nix devshell 추가
    • self-signed cert로 TLS 서빙해주는 nginx reverse proxy 추가

작동 플로우

  1. /account/login/kaistv2/ 호출하여 redirect 할 주소 및 POST 파라미터 수령
    • site, mode 등 세션에 정보를 담아야 하기 때문에 서버를 한번 거치도록 함
    • POST를 해야 하기 때문에 다른 IdP들처럼 HTTP 302로 처리할 수 없었음
  2. 1번의 내용을 기반으로 KAIST SSO에 HTTP POST -> Redirect
  3. Callback 페이지 (/api/idp/kaist/callback/)로 돌아와 유저 정보 담기
    • 파싱 이후 여기서부터는 다른 IdP와 동일한 로직 사용

@jungnoh jungnoh requested a review from UrWrstNightmare March 27, 2025 14:57
@UrWrstNightmare UrWrstNightmare merged commit 0c00795 into master Mar 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants