SAML Request는 Deflate + Base64로 인코딩되어 있다. 단, IMAP/CalDAV API로 SAML Request가 전달될 경우에는 Base64 인코딩만 되어 있다.
각 경우에 알맞게 검증해야 한다.
<?xml version="1.0" encoding="UTF-8"?><saml2p:AuthnRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" AssertionConsumerServiceURL="{ACS URL}" ID="{NAVER WORKS 인증 시스템에서 발행하는 ID}" IssueInstant="{Request 생성 일시}" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" ProviderName="worksmobile.com" Version="2.0"> <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">worksmobile.com</saml2:Issuer> <saml2p:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/></saml2p:AuthnRequest>SAML Request의 각 항목은 다음과 같다.
| 항목 | 설명 |
|---|---|
| AuthnRequest AssertionConsumerServiceURL | 줄여서 ACS URL이라 하며, SAML Response를 전달하는 URL이다. 예) "https://auth.worksmobile.com/acs/{도메인명} " 필요 시 NAVER WORKS의 URL인지 확인한다. |
| AuthnRequest ID | NAVER WORKS 인증 시스템에서 발행하는 ID로, SAML Response 생성 시 사용한다. |
| AuthnRequest IssueInstant | SAML Request 생성 일시 |
| AuthnRequest ProtocolBinding | 'HTTP-POST'로 보내므로 SAML Response는 반드시 POST 방식으로 전송해야 한다. |
| AuthnRequest ProviderName | NAVER WORKS 서비스 제공자 이름으로, 'worksmobile.com'으로 보내고 있다. 필요 시 NAVER WORKS의 도메인인지 확인한다. |
| Issuer | SAML Request 생성자 이름으로, 'worksmobile.com'으로 보내고 있다. |
<?xml version="1.0" encoding="UTF-8"?><saml2p:AuthnRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" AssertionConsumerServiceURL="https://auth.worksmobile.com/acs/company.com" ID="bemkplgpdoemkhjmncgmbcdibglpngclfombpmed" IssueInstant="2018-02-14T03:33:49.999Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" ProviderName="worksmobile.com" Version="2.0"> <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">worksmobile.com</saml2:Issuer> <saml2p:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/></saml2p:AuthnRequest>