과제에서 NETS SSO 연동을 진행할 예정입니다.
캐모마일에서 NETS SSO 인증 모듈 기능을 지원하는 것으로 알고 있습니다.
혹시 가이드가 제공 가능한지 문의드립니다.
우선, 프로젝트를 개발하기 전에 DWP SSO에 대한 사전 준비를 하셔야 합니다.
- FQDN
- 전체 주소 도메인 네임을 일컫는 용어로 http://www.chamomile.com 등으로 전달한다.
- 개발 시작 시 도메인이 등록되어있지 않은 경우 hosts 파일에 등록 후 사용하도록 한다.
- Login page, Logon 처리, 최종페이지 정보, port정보 등 자세한 내용은 가이드 사이트(https://dwp-sso.gitbook.io/developers/) 참조
- 위의 정보를 모두 전달하면 site id가 발급되고 해당 정보를 agentconfig.xml 파일에 기록한다.
- agentconfig.xml 파일의 경로는 classpath에 위치하면 되며, 통상 resources경로 아래에 두며 deploy시 classpath에 위치한다.
캐모마일 ide의 Chamomile프로젝트 생성 기능을 사용해 chamomile-sso-boot 를 선택하여 프로젝트를 생성하면 필요하신 SSO 예제 프로젝트가 생성됩니다.
성공적으로 생성된 프로젝트는 다음과 같습니다.
앞서 준비한 내용들을 생성된 프로젝트의 resources/agentconfig.xml 파일에 세팅 하시면 됩니다.
생성된 프로젝트에서 SampleSecurityConfiguration 파일을 보시면 chamomile-security에서 제공하는 ssoAuthenticationFilter 를 UsernamePasswordAuthenticationFilter 의 앞에 추가하는 방식으로 구현되어있습니다.
캐모마일에서는 내부구현으로 SAML, Agent 2가지 방식 중에서 Agent 방식을 사용해 SSO 구현을 진행하고 있습니다. 대략적인 흐름은 다음과 같으며 빨간색으로 표시한 부분이 캐모마일에서 제공하는 부분입니다.
가이드 사이트인 https://dwp-sso.gitbook.io/developers/ 에 더욱 자세한 내용이 나와있으니 참고 하시며 개발 진행하시면 될 것 같습니다.
추가적인 문의 사항 있으시면 연락 부탁드립니다.
감사합니다.