SSO Guide 4 Dev.
  • MOIN SSO 소개
  • SSO 기술의 이해
  • SSO의 동작과 이해
    • 로그온
    • 로그오프
    • 로그온 실패
    • 중복 로그온
    • 2-Factor 인증
    • SSO 세션 탈취 검사
  • 개발 시작하기
    • 업무시스템 정보 전달
    • 라이브러리 다운로드
    • 라이브러리 적용
    • Agent 환경 설정 파일 수정
    • 인증확인과 인증상태에 따른 처리 방법
    • 통합 인증 페이지 이용하기
    • 로그온 UI 개발
    • SSO 로그오프 방법 제공
  • 개발하기
    • .NET
      • SSO 로그온 UI 구성하기
      • 업무 시스템 로그온 로직 구현하기
      • SSO 로그온 에러 처리 로직 구현하기
      • SSO 세션 탈취 검사하기
      • SSO 로그오프 방법 제공하기
      • 업무 시스템 로그오프 로직 구현하기
      • SSO 중복 로그온 선택 UI 구성하기
    • .NET MVC
      • SSO 로그온 UI 구성하기
      • 업무 시스템 로그온 로직 구현하기
      • SSO 로그온 에러 처리 로직 구현하기
      • 세션 탈취 검사하기
      • 로그오프 방법 제공하기
      • 업무 시스템 로그오프 로직 구현하기
      • SSO 중복 로그온 선택 UI 구성하기
    • JAVA
      • SSO 로그온 UI 구성하기
      • 업무 시스템 로그온 로직 구현하기
      • SSO 로그온 에러 처리 로직 구현하기
      • 세션 탈취 검사하기
      • SSO 로그오프 방법 제공하기
      • 업무 시스템 로그오프 로직 구현하기
      • SSO 중복 로그온 선택 UI 구성하기
    • SPA(Single Page Application)
      • Agent Library 명세
      • Agent 환경 구성하기
      • SSO 로그온 UI 구성하기
      • 업무 시스템 로그온 로직 구현하기
      • SSO 로그온 에러 처리 로직 구현
      • SSO 세션 탈취 검사하기
      • SSO 로그오프 방법 제공하기
      • 업무 시스템 로그오프 로직 구현하기
      • SSO 중복 로그온 선택 UI 구성하기
  • 주요 클래스
    • AuthCheck(.NET)
    • AuthCheck(.NET MVC)
    • AuthCheck(Java)
    • AuthStatus
  • 개발 테스트
  • SSO 오류코드
  • 갱신 이력
  • Trouble Shooting
  • Known Issues
  • Help Center
Powered by GitBook
On this page

Was this helpful?

  1. SSO의 동작과 이해

로그온

PreviousSSO의 동작과 이해Next로그오프

Last updated 5 years ago

Was this helpful?

사용자가 업무 시스템(Web Application)에 접근하면, 접근한 사용자를 확인하기 위하여 인증 상태를 확인합니다. 인증 상태 확인은 SSO Agent를 이용하며 SSO Agent는 그 결과로 인증 상태를 리턴합니다. 업무 시스템 전용 인증 토큰(쿠키)를 확인하여 인증 상태를 확인하지만 인증 토큰이 존재하지 않는 경우에는 최초 접근 상태(SSOFirstAccess)가 됩니다. 이 경우, 혹시 다른 업무 시스템에서 인증을 시도하여 SSO 인증을 수행했는지 확인 하기 위하여 SSO 서버 인증 상태 확인이 필요합니다.

SSO 서버 인증 상태 확인은 SSO의 Service Domain(DNS)에 중앙 인증 토큰(쿠키)를 확인하는 방식으로 이루어 집니다. 중앙 인증 토큰이 존재하지 않는다는 것은 SSO 인증을 받지 않았다는 것이므로 사용자가 로그온을 할 수 있도록 로그온 UI 페이지로 이동 시킵니다.

로그온 UI에서 사용자가 계정(ID, PW)를 입력하여 로그온을 시도하면 이 정보는 SSO 서버에 전달됩니다. SSO 서버는 전달 받은 계정 정보를 검사하고 각종 로그온 정책을 검증합니다. 모든 정책 검증이 통과되면 SSO 서버는 SSO의 Service Domain에 중앙 인증 토큰(쿠키)를 발급합니다. SSO 인증이 완료되면 앞서 업무 시스템에서 SSO 서버의 인증을 확인하기 위해 이동했던 페이지로 Auto Post 시킵니다.

이번에는 중앙 인증 토큰이 존재하기 때문에 인증을 요청한 업무 시스템에 대하여 로그온을 수행합니다. 우선 업무 시스템에 대한 로그온 정책들을 검증하고 문제가 없다면 인증 연계를 위한 Artifact(인증 식별자)를 발급하여 Auto Post 방식으로 업무 시스템에게 전달합니다.

이 때 사용 되는 SSO 서버의 URL과 업무 시스템의 로그온 URL들은 모두 정해진 Endpoint(끝점) 즉 URL 입니다. 서로 주고 받는 곳은 정해져 있어야 합니다. 에이전트를 적용한 후 접근 가능한 URL을 SSO 담당자에게 반드시 고지해야 합니다.

업무 시스템에 전달된 Artifact는 SSO Agent에게 전달되어 업무 시스템 로그온을 시도하게 됩니다. 전달된 Artifact는 단순한 식별자이기 때문에 인증 정보를 포함하고 있지 않는데 SSO Agent는 Artifact를 다시 SSO 서버에 전달하여 인증 정보를 요구합니다. SSO 서버는 전달받는 Artifact의 유효성을 검사하고 업무 시스템에 대한 로그온 정책들을 검증하게 됩니다. 검증이 성공적으로 끝나면 인증 연계 정보를 SSO Agent에게 응답합니다. 이 구간은 Server-to-Server 방식으로 이루어집니다.

SSO 서버로부터 전달받은 정보를 이용하여 업무 시스템이 사용할 인증 토큰(쿠키)과 사용자 정보 속성(쿠키)등을 발급합니다. SSO Agent에서의 인증 발급이 완료되면 업무 시스템 개발자가 추가적으로 처리할 수 있는 코드를 작성할 수 있습니다. 자체적인 인증 세션을 작성하는 등의 개발자 나름의 코드를 추가할 수 있습니다.

주의할 점은 자체적인 인증 세션을 생성하여 사용자 인증을 제어한다고 하더라도 사용자가 업무 시스템에 리소스를 요청하여 사용자 인증을 확인할 때마다 자체 인증 세션 확인 이외에 SSO Agent를 이용한 인증 상태 확인 및 SSO 인증과 자체 인증의 계정 일치 여부를 필히 확인해야 합니다.

업무 시스템 인증 처리가 완료되면, 원래 사용자가 요청했던 리소스(URL)로 이동시키는데 리소스에서는 다시 사용자 인증을 확인합니다. SSO Agent에서는 업무 시스템 인증 토큰이 존재하면 Agent 인증 정책에 따라 인증 토큰이 정상적인지 확인 후 인증 상태를 리턴 합니다. 인증 토큰에 문제가 없다면 인증 상태는 인증 성공(SSOSuccess)상태가 됩니다.

이 경우 SSO Agent를 통해 인증된 사용자의 계정이나 사용자의 속성을 조회할 수 있습니다. 이를 바탕으로 업무 시스템은 서비스를 할 수 있게 됩니다.

"SSO의 동작과 이해"로 돌아가기
로그온 UI 페이지로 이동하는 Flow
계정을 입력하여 SSO 인증을 수행하는 Flow