고객사에서는 "그림 4 SAML 2.0 기반 API 인증"의 3~4 단계에 해당하는 로직을 구현하여 NAVER WORKS에서 사용할 수 있도록 API로 제공한다. 이 API는 사용자가 IMAP/CalDAV으로 로그인할 수 있도록 NAVER WORKS에서 사용한다.
고객사 SSO 시스템에서는 SAML Request를 검증하고, Base64로 인코딩된 아이디, 비밀번호를 받아서 인증을 확인한 후, SAML Response를 생성하여 ACS URL로 반환한다.
주의
- 만약 고객사 SSO 시스템에 계정 잠금 등의 기능이 구현되어 있으면, IMAP/CalDAV 로그인 시 사용자의 실수로 계정이 잠길 수 있으므로 API에서 이 부분을 예외 처리하는 것이 좋다.
비밀번호를 취급하므로 반드시 SSL(https)을 사용해야 한다.
제작한 Request URL은 Developer Console의 SSO > WORKS as SP 설정에서 IMAP/CalDAV Login API에 등록한다.

그림 21 SAML 2.0 기반 IMAP/CalDAV 로그인 API 등록
POST
| 파라미터 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
| String | Y | 메일 주소(NAVER WORKS ID)(Base64로 인코딩한 값) | |
| password | String | Y | 비밀번호(Base64로 인코딩한 값) |
| SAMLRequest | String | Y | SAML 2.0 Request 명세에 따른 문자열(Base64로 인코딩한 값) |
| RelayState | String | Y | 인증 실패 시 재시도하는 URL이지만 모바일에서는 사용하지 않음 |
응답 형식은 아래 데이터를 JSON 형식으로 만들어서 HTTP-POST로 전달한다.
| 속성 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
| SAMLResponse | String | Y | SAML 2.0 Response 명세에 따른 문자열(Base64 인코딩한 값) |
| RelayState | String | Y | 인증 실패 시 재시도하는 URL이지만 모바일에서는 사용하지 않음 |