로그온
Last updated
Was this helpful?
Last updated
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를 통해 인증된 사용자의 계정이나 사용자의 속성을 조회할 수 있습니다. 이를 바탕으로 업무 시스템은 서비스를 할 수 있게 됩니다.