페이지 트리

버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

AUD7 SSO 로그인을 통하여 인증 접근 토큰(acces token)을 획득하여 팝업이나 새창으로 AUD7 보고서나 Portal을 사용할 수 있는 오픈 API 입니다.

도움말
iconfalse

Start Release No : 7.0.500.202406XX / Update Release No : -

    타 시스템에서 AUD7 플랫폼에서 제공하는 보고서 및 PORTAL을 팝업이나 새창으로 오픈하여 사용이 가능합니다.

  • 타 시스템과 AUD7 서버와 도메인이 상이하여도 새창으로 window.open 한 형식이라면 오픈이 가능하도록 구성되어 있습니다.

정보
titleSSO 인증을 위한 AUD7 플랫폼에 설정할 항목

1. AUD7 Admin 에서 SSO 연동할 타 시스템 서버 IP 등록

  •  시스템 관리 > 시스템 옵션 > 시스템 사용 옵션 탭 클릭
  •  SSO_AUTH_IP 검색 . 해당 코드가 존재 할 경우에 값에 서버 IP 추가 (여러개 등록 시 세미콜론(;) 으로 구분자 처리)
  •  SSO_AUTH_IP 코드가 없을 경우 신규 버튼 클릭 > 신규로 생성된 row의 코드에 SSO_AUTH_IP 추가 후 값 항목에 서버 IP 등록
  •  등록 후에 저장 버튼 클릭

2. AUD7 플랫폼 서버에 CORS Allowed origin url 등록

  •  AUD7플랫폼서버 설치 경로/WEB-INF/classes/framework/service/service_api.properties 확인
    - matrix.prop.location=true 되어 있고 matrix.prop.location.path에 경로가 지정되 있을 경우 해당 경로로 가서 service_api.properties 파일을 수정.

- 타 연동 시스템에서 SSO 오픈 API 호출 시에 Request Header에 설정된 Origins URL을 등록

- matrix.cross.origin.allowed 에 타사 연동 PORTAL URL 추가

코드 블럭
languagebash
themeRDark
# cross origin 허용 url (여러개의 주소를 설정할 경우 구분자는 콤마)
matrix.cross.origin.allowed=http://1.1.1.1,https://2222:8080/XXX,http://a.co.kr
  • service_api.properties 수정 후에 AUD7 플랫폼 서버 재기동 하여야 적용이 완료됩니다.


정보
titleSSO 오픈API

SSO 인증 로그인

AUD7 플랫폼에서 제공하는 SSO 오픈 API에서 사용하는 요청 URL에 대한 정보입니다.

요청 URL메서드파라메터응답 형식설명

{AUD7서버 주소}/api/auth/cs/sso/token/publish?userId={사용자아이디}&targetUrl={오픈할 AUD7서버 URL}

POST

query string

  • userId = AUD7 플랫폼 내에 등록된 유저 아이디
  • targetUrl = AUD7 플랫폼에서 이동할 페이지

    URL설명
    /portal/Content.jsp기본 AUD7 포탈 URL
    /portal/Content.jsp?id={보고서코드}기본 AUD7 포탈에서 전달받은 보고서가 오픈 URL
    /portal/popupView.jsp?id={보고서코드}팝업으로 보고서 오픈 URL


-

AUD7 플랫폼에 등록된 IP 및 URL에서 호출

userId를 통하여 SSO 인증 후에 access Token 발급받아 AUD7 플랫폼에서 제공하는 보고서 또는 PORTAL 오픈



도움말
iconfalse
title샘플 코드

AUD7 서버에 등록된 URL에서 호출한 SSO 인증 오픈 API 호출을 통해 AUD7 Portal 또는 보고서 연동하는 코드를 Jsp로 작성한 예입니다.

SSO 인증 오픈 API는 Form 형태 또는 Redirect 방식으로 호출하여야 파라메터로 전달한 AUD7 서버의 Target URL로 전달됩니다.


코드 블럭
themeMidnight
<%@ page contentType="text/html; charset=utf-8" language="java" %>

<%
	String reportCode = request.getParameter("reportCode") == null ? "" : request.getParameter("reportCode");
	String userCode = "nmpark";
	String targetUrl = "/portal/Content.jsp";
	if (reportCode != "")
		targetUrl = "/portal/Content.jsp?id="+reportCode;
	/** 1. AUD7 플랫폼에서 이동할 페이지
        보고서를 오픈할 경우, REPORT_CODE를 TARGET_URL의 PARAMETER로 넘겨 처리합니다.
        1.1. 기본 포탈 오픈
           targetUrl = "/portal/Content.jsp";
        1.3. 팝업으로 보고서 오픈
           targetUrl = "/portal/popupView.jsp?id="+reportCode;
	**/	   

	// AUD7 플랫폼에서 제공하는 SSO api url
	String AUD7SSOUrl = "https://rnd.bimatrix.co.kr/aud7/api/auth/cs/sso/token/publish?userId="+userCode+"&targetUrl="+targetUrl;
%>

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-Control" content="no-cache; no-store; no-save">
    <meta http-equiv="Expires" content="-1">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <script type="text/javascript">

		function getInput(name, val){
            var input_id = document.createElement("input");
            input_id.setAttribute("type", "hidden");
            input_id.setAttribute("name", name);
            input_id.setAttribute("value", val);

            return input_id;
        }
		
        function load(){
            var form = document.getElementById("frm");
            form.setAttribute("method","post");
            form.setAttribute("action","<%=AUD7SSOUrl%>");
			// 글로벌 변수 선업 방법 (VS_ , VN_ 으로 변수 이름을 시작하여 적용합니다)
			//form.appendChild(getInput("VS_TEST", "SAMPLE DATA"));
            
			form.submit();
        }
    </script>
	
<body onload="load()">
	<form id="frm" name="frm" method="post" action=""></form>
</body>