...
등록된 Application 정보로 AP 인증 토큰(bimatrix_ap_accessToken)을 발급 한 후 AUD 플랫폼에서 제공하는 Rest API 호출 및 보고서 연동 기능.
도움말 |
---|
|
Start Release No : 7.0.500.202406XX 202411XX / Update Release No : - 첨부된 파일을 참고하여 적용 테스트 진행 최신 패키지에 아직 적용되지 않았기 때문에 첨부된 AUD서버의 WEB-INF/lib 아래에 matrix_service.jar 파일을 패치 후 AUD 서버 재기동 후에 적용할 것 (추후 패치키 적용 시 제외) |
타 시스템에서 AUD7 AUD 플랫폼에서 제공하는 보고서 및 PORTAL을 팝업이나 새창으로 오픈하여 사용이 임베디드 형식으로 구성이 가능합니다.
- 타 시스템과 AUD7 서버와 도메인이 상이하여도 새창으로 window.open 한 형식이라면 오픈이 가능하도록 구성되어 있습니다.AUD 플랫폼의 도메인 주소가 다르더라도 CORS 등록된 Application 도메인인 경우에는 CORS 형태로 외부 타 시스템에 임베디드 처리 가능.
정보 |
---|
title | SSO 인증을 위한 AUD7 AUD 플랫폼에 설정할 항목 |
---|
|
1. AUD7 플랫폼 Admin 에서 SSO 연동할 연동(인증)용 타 시스템 서버 IP 정보 등록- 시스템 관리 > 시스템 옵션 > 시스템 사용 옵션 탭 클릭
- SSO_AUTH_IP 검색 . 해당 코드가 존재 할 경우에 값에 서버 IP 추가 (여러개 등록 시 세미콜론(;) 으로 구분자 처리)
- SSO_AUTH_IP 코드가 없을 경우 신규 버튼 클릭 > 신규로 생성된 row의 코드에 SSO_AUTH_IP 추가 후 값 항목에 서버 IP 등록
- 등록 후에 저장 버튼 클릭
2. AUD7 플랫폼 AUD 플랫폼 Admin에서 Application (타 시스템) 용 인증 유저 등록 - 계정 관리 > 사용자 관리 > 사용자를 추가하여 등록
- 현재는 일반 AUD 플랫폼 사용자용 화면에서 등록하지만 추후 Application 인증 등록 화면에서 설정 예정
- 등록된 유저 정보를 확인하여 타 시스템에서 토큰 발행 시 인증 정보로 제공한다.
Image Added 3. AUD 플랫폼 서버에 CORS Allowed origin url 등록 - AUD7플랫폼서버 AUD플랫폼서버 설치 경로/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을 URL (원격 주소) 을 등록 - matrix.cross.origin.allowed 에 타사 연동 PORTAL URL 추가 코드 블럭 |
---|
| # cross origin 허용 url (여러개의 주소를 설정할 경우 구분자는 콤마)
matrix.cross.origin.allowed=http://1.1.1.1,https://2222:8080/XXX |
|
참고사항 |
---|
|
도움말 |
---|
icon | false |
---|
title | Object List |
---|
|
Properties 펼치기 |
---|
|
|
정보 |
---|
|
[Property 명]
도움말 |
---|
|
Start Release No : 7.0.300.20220502 / Update Release No : - API Open
- UI Open
- Read Only
- Not Use
- Hidden
- Not Recommend
|
도움말 |
---|
icon | false |
---|
title | Description |
---|
|
[설정 경로1>설정경로2>설정경로3]
[Property Image]
도움말 |
---|
|
도움말 |
---|
icon | false |
---|
title | Param Syntax |
---|
|
도움말 |
---|
|
Parammeter | Type | Description |
---|
코드 블럭 |
---|
language | js |
---|
title | Example code |
---|
|
도움말 |
---|
|
정보 |
---|
|
참고사항 |
---|
|
Method
펼치기 |
---|
|
정보 |
---|
|
|
[Method 명]
도움말 |
---|
|
Start Release No : 7.0.300.20220502 / Update Release No : - API Open
- UI Open
- Read Only
- Not Use
- Hidden
- Not Recommend
|
,http://a.co.kr
- service_api.properties 수정 후에 AUD 플랫폼 서버 재기동 하여야 적용이 완료됩니다.
정보 |
---|
|
1. AUD 플랫폼에 등록한 Application용 클라이언트 아이디와 클라이언트 시크릿를 인증 정보로 설정하여 Application 인증 JWT 토큰 발급 - 클라이언트에서 해당 인증 토큰 발급은 제한됩니다. 보안상 클라이언트 인증 정보가 확인될 소지 방지.
- 타 시스템 포탈에서 최초 1회 인증 토큰 발급 후 만료되었거나 유효하지 않은 토큰일 경우 클라이언트 아이디와 클라이언트 시크릿 정보를 이용하여 인증 토큰을 재발급 합니다.
- 발급한 토큰은 타 시스템 쿠키에 등록하여 사용합니다 . (쿠키 key = bimatrix_ap_accessToken)
요청 URL | 메서드 | Header 설정 | 응답 형식 | 설명 |
---|
{AUD서버 주소}/api/auth/sign/ap/token | POST | 서버 영역에서 API 호출 시에 Request Header로 설정하여 전달 Key | 설명 |
---|
X-AUD-AP-Id | 애플리케이션 클라이언트 아이디값 | X-AUD-AP-Secret | 애플리케이션 클라이언트 시크릿값 | X-AUD-USER | - Application용 아이디가 아닌 타 시스템에서 로그인 한 사용자로 인증 토큰 발급받아 사용 시에 세션 사용자 아이디 설정
- 해당 사용자도 AUD 플랫폼 사용자에 등록된 id만 가능
| X-AP-UPDATE-ADDR | - 토큰이 업데이트 되야 할 때 외부 Portal에 전달해줄 토큰 업데이트 jsp의 full 경로 설정
- 기본으로 제공하는 외부 임베디드용 소스에 포함된 setAUD7TokenCookie.jsp 에 대한 url 경로를 설정
|
| String | AUD 플랫폼에 등록한 클라이언트 아이디 값과 시크릿 값을 통해 인증 후 전달된 사용자 또는 클라이언트 아이디로 AUD 플랫폼에서 사용 가능한 인증 토큰 발급. 해당 JWT 인증 토큰을 통해 AUD 플랫폼의 기능 연동을 지원 |
2. 발급받은 AUD플랫폼 JWT 토큰을 타 시스템 내 쿠키에 설정하여 자동으로 토큰이 정상 토큰이면 갱신 가능. |
도움말 |
---|
| Description | 도움말 |
---|
|
도움말 |
---|
icon | false |
---|
title | Parameter Syntax |
---|
|
도움말 |
---|
icon | false |
---|
title | Parameter List |
---|
|
Parammeter | Type | Description |
---|
도움말 |
---|
icon | false |
---|
title | Return List |
---|
|
Type | Description |
---|
코드 블럭 |
---|
language | js |
---|
title | Example code |
---|
|
도움말 |
---|
|
정보 |
---|
|
참고사항 |
---|
|
Event
펼치기 |
---|
|
정보 |
---|
|
[Event 명]
도움말 |
---|
|
Start Release No : 7.0.300.20220502 / Update Release No : - API Open
- UI Open
- Read Only
- Not Use
- Hidden
- Not Recommend
|
도움말 |
---|
icon | false |
---|
title | Description |
---|
|
도움말 |
---|
|
도움말 |
---|
icon | false |
---|
title | Parameter Syntax |
---|
|
도움말 |
---|
icon | false |
---|
title | Parameter List |
---|
|
Parameter | Type | Description |
---|
도움말 |
---|
icon | false |
---|
title | Return List |
---|
|
Type | Description |
---|
코드 블럭 |
---|
language | js |
---|
title | Example code |
---|
|
도움말 |
---|
|
정보 |
---|
|
참고사항 |
---|
|
| Application 인증 토큰 발급을 위한 API 호출 자바 샘플 코드입니다.
코드 블럭 |
---|
|
/**
* AUD 플랫폼의 AP Token 발급 호출용 샘플 JAVA
*/
public class AudGetApToken {
private static final String AUD_AP_TOKEN_URL = "http://192.168.0.234:8088/matrix/api/auth/sign/ap/token";
/**
* audApId , audApPw 는 AUD 플랫폼에 등록한 Application 공통 계정을 사용
* 파라메터로 전달 시에 암호화에 대한 처리하여 Application용 id / pw가 유출되지 않도록 구성
*/
public static String getAPToken(String audApId , String audApPw , String userCode) {
HttpURLConnection connection = null;
try{
if ((audApId == null || audApId.isEmpty()) || (audApPw == null || audApPw.isEmpty())){
System.out.println("AUD 플랫폼에서 application 인증을 위한 id,pw에 대한 정보가 없습니다.");
return null ;
}
// header 설정은 아래처럼 해주세요.
Map<String, String> requestHeaders = new HashMap<>();
requestHeaders.put("X-AUD-AP-Id", audApId);
requestHeaders.put("X-AUD-AP-Secret", audApPw);
requestHeaders.put("X-AP-UPDATE-ADDR" , "http://nm.bimatrix.co.kr:9091/examples/aud/setAUD7TokenCookie.jsp");
if (userCode != null && !userCode.isEmpty())
requestHeaders.put("X-AUD-USER" , userCode);
try{
// URL 객체 생성
URL url = new URL(AUD_AP_TOKEN_URL);
connection = (HttpURLConnection) url.openConnection();
}catch(MalformedURLException e){
System.out.println("AUD 플랫폼 주소가 잘못되었습니다.");
return null;
}catch(IOException e){
System.out.println("연결이 실패했습니다 [api url:"+ AUD_AP_TOKEN_URL +"]");
return null ;
}
// HTTP 메서드 설정
connection.setRequestMethod("POST");
for(Map.Entry<String, String> header :requestHeaders.entrySet()) {
connection.setRequestProperty(header.getKey(), header.getValue());
}
// 응답 코드 확인
int responseCode = connection.getResponseCode();
System.out.println("Response Code: " + responseCode);
if (responseCode == HttpURLConnection.HTTP_OK){
String apAccessToken = connection.getHeaderField("bimatrix_ap_accessToken");
if (apAccessToken == null){
System.out.println("ap token이 정상적으로 발급되지 않았습니다");
return null;
}
else{
return apAccessToken;
}
}else if (responseCode == HttpURLConnection.HTTP_UNAUTHORIZED){
System.out.println("만료된 ap token 입니다.");
return null;
}
}catch(Exception e){
e.printStackTrace();
}finally {
if (connection != null) {
connection.disconnect();
}
}
return null;
}
}
|
View file |
---|
name | i-AUD 임베디드_CORS_최신본.zip |
---|
height | 250 |
---|
|
|