Page No. 150011949
작성자 : / 검수자 :
Launch Release No. 7.3.500.20250722 / Latest Release No.
※ 주의 : 외부 포탈 임베디드(Project)방식의 SSO연동을 적용하기 위해 '1-0.공통 설정' 과정을 선행으로 설정해야 함
− 개요
> 외부 포탈 사이트에서 AUD7 보고서를 임베디드 방식으로 연동하기 위한 샘플 프로젝트
> Spring Boot(백엔드)에서 AUD7 서버와 인증을 처리하고, React 또는 Vue(프론트엔드)가 보고서 뷰어 UI를 제공
> 단 , 일부 기능이 크로스 도메인 block으로 처리 불가할 수 있음
(top , parent 접근 불가하여 postMessage 형식 등으로 커스텀 개발이 AUD플랫폼 내 적용되어야 함)
− 제약 사항
> 기본적으로 AP 토큰이 쿠키에 공유되어 사용되기 때문에 외부 PORTAL (타 사이트 포탈) 과 AUD7 플랫폼 PORTAL의 Domain name이 동일해야 된다.
> 외부 POTAL에서는 발급된 AP 인증 토큰이 정상적으로 브라우저 Cookie에 bimatrix_ap_accessToken으로 설정되어 있는지 확인이 필요하다.
1. 샘플 코드(sitePortalAUD7EmSample.jsp) 설정
1-1) 인증 정보 설정
1-1-1) audSecretKey, audApId 설정
> SSH Key정보를 sitePortalAUD7EmSample.jsp에 설정
< 그림 1-1. 샘플 코드 인증 정보 설정 캡처 1 >
1-1-2) privateKey 설정 - 고객사 포탈 서버에 private_key.pem을 저장하고 경로를 지정
> loadPrivateKey 메서드 매개변수에 '인증 키 관리' 페이지에서 등록이 완료되면 발급되는 private_key.pem 파일의 위치를 설정
< 그림 1-2. 샘플 코드 인증 정보 설정 캡처 2 >
1-2) 인증 대상 유저 코드 설정
1-2-1) userCode 설정
> 실제 사이트에서 인증 시켜야 할 계정 값을 설정
(※ 주의 : 아래 샘플 코드엔 matrix로 고정된 값으로 구현했지만, 실제 구현 시 userCode는 유동적으로 변경하여 인증 과정을 실행해야 함)
< 그림 1-3. 샘플 코드 인증 정보 설정 캡처 3 >
1-3) AUD 인증 AP 토큰 요청 및 도메인 설정
1-3-1) AUD_AP_TOKEN_URL 설정
> AUD플랫폼 경로 설정 (Ex. "http(s)://[IP:PORT+Context Root]/api/auth/sign/ap/token")
(※ 주의 : 서버 통신 방식이기 때문에 IP:PORT를 통해 AUD플랫폼 Portal접속이 가능하면 설정하고, 도메인 URL통신만 가능하다면 해당 서버에서 도메인 통신 확인 후 진행)
< 그림 1-4. 샘플 코드 인증 정보 설정 캡처 4 >
1-3-2) AUD_AP_TOKEN_UPDATE_URL 설정
> 쿠키에 발급한 AUD 인증 AP 토큰을 공유하기 위한 메인 도메인 설정.
(※ 참고 : 서브 도메인 허용, 컨테이너 허용, PORT 허용)
< 그림 1-5. 샘플 코드 인증 정보 설정 캡처 5 >
AUD인증 AP 토큰 발급 API
- AUD 인증 AP 토큰 발급 API는 AUD 플랫폼에 등록한 Application용 클라이언트 아이디와 클라이언트 시크릿를 인증 정보로 설정하여 Application 인증 JWT 토큰을 발급 합니다.
- 클라이언트에서 해당 인증 토큰 발급은 제한됩니다. 보안상 클라이언트 인증 정보가 확인될 소지 방지.
- 타 시스템 포탈에서 최초 1회 인증 토큰 발급 후 만료되었거나 유효하지 않은 토큰일 경우 클라이언트 아이디와 클라이언트 시크릿 정보를 이용하여 인증 토큰을 재발급 합니다.
- 발급한 토큰은 타 시스템 쿠키에 등록하여 사용합니다 . (쿠키 key = bimatrix_ap_accessToken)
| 요청 URL | 메서드 | Header 설정 | 응답 형식 | 설명 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{AUD서버 주소}/api/auth/sign/ap/token | POST | 서버 영역에서 API 호출 시에 Request Header로 설정하여 전달
| String | AUD 플랫폼에서 발급된 SSH Private.pem 인증서를 이용하여 Secret Key를 서명한 후에 Header에 Secret Key를 설정하여 전달하여 인증 후 전달된 사용자 또는 클라이언트 아이디로 AUD 플랫폼에서 사용 가능한 인증 토큰 발급. 해당 JWT 인증 토큰을 통해 AUD 플랫폼의 기능 연동을 지원 |
2. aud.embedded.setting.jsp 설정 - sitePortalAUD7EmSample.jsp에서 참조하는 Config파일을 설정
< 그림 1-6. 샘플 코드의 Config 참조 캡처 >
2-1) AUD_CONFIG_DATA 설정 - sitePortalAUD7EmSample.jsp에서 참조하는 Config파일 에서 설정
- bimatrix_server_url 설정 : AUD플랫폼의 IP:PORT + Context Root로 설정
- webRoot 설정 : 고객사 포탈 임베디드 소스가 위치한 경로를 설정
※ Admin 시스템 관리 > 시스템 옵션 > [시스템 실행 옵션]의 WEBROOT 값을 통해 확인 가능합니다.
- cookie_domain 설정 : 토큰을 공유하기 위한 도메인 설정
임베딩의 기본 전제 조건은 고객사 포털과 임베딩할 AUD7의 서브도메인은 달라도 메인 도메인이 같아야 합니다.
ex) 고객사 포탈 도메인: portal.client.com, AUD 제품 포탈 도메인: aud7.client.com
DATA.cookie_domain = .client.com;
< 그림 1-7. 샘플 코드 Config 설정 캡처 >
3. AUD보고서 iFrame 임베디드 방법
> openReport 함수를 사용하여 'REPORT_AUD'라는 iFrame에 i-AUD 보고서를 임베디드
< 그림 1-8. 샘플 코드 보고서 호출부 캡처 >
iFrame 샘플 소스









