exemONE SSO 인증
1. 개요
Azure(MS Entra ID) 계정을 통해 exemONE에 SSO(Single Sign-On) 로그인을 할 수 있도록 연동하는 기능입니다.
연동 플로우:
| 단계 | 설명 |
|---|---|
| 1 | exemONE 앱 도메인 접근 |
| 2 | Azure 로그인 화면으로 이동 |
| 3 | Azure 계정으로 로그인 |
| 4 | exemONE으로 리다이렉트 및 자동 로그인 |

전제 조건: Azure > Key Vault(키 자격 증명 모음)가 생성된 상태이며, 사용자/앱에 권한이 부여된 상태여야 합니다.
2. 연동 준비 (Azure 관리자 사전 작업)
2-1. 공통 준비사항
Azure SSO 인증 후 리다이렉트할 URL 형식은 아래와 같습니다.
{APP_DOMAIN}/{CALLBACK_URL}
{APP_DOMAIN} = https://kt.exemone.com # gateway.sso.app-domain 값과 동일
{CALLBACK_URL} = /azure/ad/callback # gateway.sso.azure.redirection-url 값과 동일
-> https://kt.exemone.com/azure/ad/callback
2-2. Azure 관리자를 통한 생성 요청 항목
| 항목 | 설명 |
|---|---|
| App-Domain | 상황에 맞게 할당받습니다. |
| 리다이렉션 URL | 할당받은 app-domain 뒤에 /azure/ad/callback 을 붙여 사용합니다. |
| Vault-Name | 담당자가 지정하지 않으면 exemone-vault 명을 사용합니다. |
관리자가 도메인 할당 → 어플리케이션 생성 → 볼트 생성 → 권한 처리를 완료한 이후, 아래 정보를 전달받습니다.
| 전달 항목 | 설명 |
|---|---|
| Client-Id | Azure 앱 클라이언트 ID |
| Tenant-Id | Azure 앱 테넌트 ID |
| Vault-Name | Azure Key Vault 이름 |
| App-Domain | exemONE 앱 도메인 |
3. 설정 방법
exemone-gateway 및 exemone-api 설정 파일 수정을 통해 Azure 외부 로그인 기능을 연동합니다.
3-1. exemone-gateway 설정 파일에 SSO 옵션 추가
설정 파일 경로:
{EXEMONE_HOME}/containers/exemone-gateway/configs/gateway.yaml
설정 포맷:
gateway:
port: 8080
access-token-duration-minute: 100
keep-logged-in: true
session-timeout-mode: false
sso:
sso-path: "/" # Exemone 진입점 (고정값)
authorization-path: "/sso/azure/kt" # API 서버 인증 URL (고정값)
redirection-url: "{app-domain}/sso" # SSO 인증 실패 시 Redirect URL
redirection-error-url: "https://{app-domain}/CUSTOM/ssoErrorPage.html" # SSO 인증 실패 시 에러 Redirect URL
app-domain: "{app-domain}" # 앱 도메인
azure:
redirection-url: "{callback-url}" # Azure AD 앱 콜백 URL
client-id: "{client-id}" # Azure 앱 클라이언트 아이디
tenant-id: "{tenant-id}" # Azure 앱 테넌트 아이디
client-secret: "{client-secret}" # Azure 앱 시크릿 (개발용)
vault-name: "{vault-name}" # Azure Vault 이름
설정 예시:
gateway:
port: 8080
access-token-duration-minute: 100
keep-logged-in: true
session-timeout-mode: false
sso:
sso-path: "/"
authorization-path: "/sso/azure/kt"
redirection-url: "https://kt.exemone.com/sso"
redirection-error-url: "https://kt.exemone.com/CUSTOM/ssoErrorPage.html"
app-domain: "https://kt.exemone.com"
azure:
redirection-url: "/azure/ad/callback"
client-id: "91855555-c278-4e77-9e77-5c9999999998"
tenant-id: "3fc55555-7fc7-4c3a-953c-f27777778788"
vault-name: "exemone-vault"
3-2. exemone-api 설정 파일 수정
설정 파일 경로:
{EXEMONE_HOME}/containers/exemone-api/configs/api.yaml
SSO 옵션 활성화 및 로그아웃 페이지 설정:
xm:
...
sso:
sso-mode: true
redirection-logout-url: https://{app-domain}/manager
...
| 항목 | 설명 |
|---|---|
| sso-mode | true로 설정하여 SSO 모드를 활성화합니다. |
| redirection-logout-url | 로그아웃 시 리다이렉트할 페이지 URL을 설정합니다. |
3-3. 서비스 재시작
[도커 설치 환경]
# gateway 재시작
${EXEMONE_HOME}/scripts/restart.sh gateway
# api 재시작
${EXEMONE_HOME}/scripts/restart.sh api
[바이너리 설치 환경]
# gateway 재시작
${EXEMONE_HOME}/onctl restart gateway
# api 재시작
${EXEMONE_HOME}/onctl restart api
4. 로그인 및 사용자 자동 등록 확인
4-1. 앱 도메인으로 로그인
설정 완료 후 앱 도메인으로 접속하면 Azure 계정으로 자동 로그인됩니다.

4-2. 사용자 자동 등록 확인
Azure 로그인 성공 시 exemONE에 사용자가 아래 정보로 자동 등록됩니다.
| 항목 | 자동 입력 값 |
|---|---|
| 그룹 | Default |
| ID / SSO ID | Azure 계정 인증 ID 값 |
| 이메일 | Azure 계정 이메일 |
| 이름 | Azure 사용자 이름 |

SSO ID 관리 경로:
Setting > Account > User > User List
- SSO ID 항목은 외부 연동 ID이며, 사용을 위해 별도의 서버 설정이 필요합니다.