%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
| 코드 | 설명 | 코드 | 설명 |
|---|---|---|---|
| EA0001 | (SSO 에이전트) 초기화 실패 | EA0002 | (SSO 에이전트) 필수 파라미터 정보 없음 |
| EA0003 | (SSO 에이전트) 서버와의 통신 오류 | EA0004 | (SSO 에이전트) 서버와의 통신 오류(예외사항) |
| EA0005 | (SSO 에이전트) 암호화 키 교환 오류 | EA0006 | (SSO 에이전트) JSON 데이터 파싱 오류 |
| EA0007 | (SSO 에이전트) 서버에서 전달받은 데이터 오류 | EA0008 | (SSO 에이전트) 데이터 복호화 오류 |
| EA0009 | (SSO 에이전트) 데이터 서명 검증 오류 | EA0010 | (SSO 에이전트) 암화화 키 생성 오류 |
| EA0011 | (SSO 에이전트) ECC Key 생성 오류 | ES0001 | (SSO 서버) 실패 |
| ES0002 | (SSO 서버) 서버 초기화 오류 | ES0003 | (SSO 서버) 필수 파라미터 정보 없음 |
| ES0004 | (SSO 서버) 연동시스템 정보 없음 | ES0005 | (SSO 서버) 연동시스템 식별코드 정보 없음 |
| ES0006 | (SSO 서버) ECC Key 생성 오류 | ES0007 | (SSO 서버) 전자서명 데이터 생성 오류 |
| ES0008 | (SSO 서버) 서버 공개키/개인키 정보 로드 오류 | ES0009 | (SSO 서버) 전자서명 검증 오류 |
| ES0010 | (SSO 서버) 공유키 생성 실패[Calculate Key] | ES0011 | (SSO 서버) 정상적인 요청이 아님[Challenge] |
| ES0012 | (SSO 서버) 서버 ECC Key 정보 로드 오류 | ES0013 | (SSO 서버) 데이터 암호화 오류 |
| ES0014 | (SSO 서버) 데이터 복호화 오류 | ES0015 | (SSO 서버) 사용자 정보 없음 |
| ES0016 | (SSO 서버) JSON 데이터 생성 오류 | ES0017 | (SSO 서버) 요청 정보 없음 |
| ES0018 | (SSO 서버) JSON 데이터 파싱 오류 | ES0019 | (SSO 서버) SSO 서버 시스템 오류 |
| ES0020 | (SSO 서버) 정상적인 요청이 아님 | ES0021 | (SSO 서버) 올바르지 않은 인증 토큰 정보[DATA] |
| ES0022 | (SSO 서버) 올바르지 않은 인증 토큰 정보[SIGN] | ES0023 | (SSO 서버) 올바르지 않은 인증 토큰 정보[ISS] |
| ES0024 | (SSO 서버) 올바르지 않은 인증 토큰 정보[AUD] | ES0025 | (SSO 서버) 올바르지 않은 인증 토큰 정보[IP] |
| ES0026 | (SSO 서버) 올바르지 않은 인증 토큰 정보[BROWSER] | ES0027 | (SSO 서버) 올바르지 않은 인증 토큰 정보[DATE] |
| ES0028 | (SSO 서버) 올바르지 않은 인증 토큰 정보[SUB] | ES0029 | (SSO 서버) 올바르지 않은 코드 정보[SSO_CODE] |
// 인증 토큰으로 SSO 코드를 요청한다. String com.ubintis.agt5.api.ApiAgentService.getSsoCode (String pni_token, String user_ip, String user_agent) @param pni_token : 인증 토큰 @param user_ip : 사용자 아이피 @param user_agent : 사용자 User-Agent @Return String : SSO 코드 (ex) 64BD24FAE5CF244825AD67F89D78ED73 // SSO코드가 ""일 경우 getErrorCode() 메서드를 통해 오류코드 획득 String com.ubintis.agt5.api.ApiAgentService.getErrorCode() @Return String : 오류 코드
String errorCode ="";
String pni_token = StrUtil.NVL( session.getAttribute( "pni_token" ) );
if( !"".equals( pni_token ) ) {
String user_ip = request.getRemoteAddr();
String user_agent = request.getHeader("User-Agent");
ApiAgentService apiAgentService = new ApiAgentService ();
String sso_code = apiAgentService.getSsoCode( pni_token, user_ip, user_agent );
if( "".equals( sso_code ) ) {
errorCode= apiAgentService.getErrorCode();
}
}
// SSO 코드로 인증 토큰을 요청한다. String com.ubintis.agt5.api.ApiAgentService.getToken (String sso_code, String user_ip, String user_agent) @param sso_code : SSO 코드 @param user_ip : 사용자 아이피 @param user_agent : 사용자 User-Agent @Return String : 인증 토큰 (ex) eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.N0M4OUQ0RDUxRjdCRDdEMTk1MjZCM0VCMkI4OTcxNzlBNzEzNzNBOUZCMzUwQTk3NzI3MzI3Q0Y2QTg5MTMxRUE0MTBCQzBBN0VBRT FEODlFRTY3MDRDQkU2MDI2NUZFMzMzRjI3RDVEN0EzRTAyNjk2MEYyNzM0NkM0NzQzN0ZFODJCRDU0NzI5RDEwOTg3MDk1NDA0RkQ5OERGNEEyRjkyREUxQ0ZBQTdGNENDNTg2 OTU2MzU5Q0FGNEUwMDkyRkFBQkVCMzE3MkE4MDFCN0ZFNDAyOEQxRUU0NkRFRTBBODRERjBGRjc1OEVGNEU0RERERjFCQUIxNUI5MzY2MzUwNjg0NzI5QjdDNEE1NENBN0U3Nk U1NEQ1M0EwQTdDOEVDNTM2QzkzNTREM0M5NzhFRDBGMzczOUFCNTNGNjU1RjlGNTNCQUM3NTY2QkYzQ0Y5REEyMzNEN0QyRUE4ODZBMzBCMjBFNDQ5M0EyOUIxM0JBMjQ4 ODBENjVGRjdC.M0Y3MEFGMzUyQjY4QThDQTJEOTM3RjdENzlCREJGQkQ3QTYxMTJCNEQ0MDZBNEY1NkY0OTEyOTcxMTZERDM2Rg // 인증 토큰이 ""일 경우 getErrorCode() 메서드를 통해 오류코드 획득 String com.ubintis.agt5.api.ApiAgentService.getErrorCode() @Return String : 오류 코드
String errorCode = "";
String sso_code = StrUtil.NVL( request.getParameter( "sso_code" ) );
if( !"".equals( sso_code ) ) {
String user_ip = request.getRemoteAddr();
String user_agent = request.getHeader("User-Agent");
ApiAgentService apiAgentService = new ApiAgentService ();
String sso_code = apiAgentService.getToken( sso_code, user_ip, user_agent );
if( "".equals( sso_code ) ) {
errorCode= apiAgentService.getErrorCode();
}
}
// 인증 토큰으로 사용자 정보를 조회한다.
String com.ubintis.agt5.api.ApiAgentService.getUserData (String pni_token, String user_ip, String user_agent)
@param pni_token : 인증 토큰
@param user_ip : 사용자 아이피
@param user_agent : 사용자 User-Agent
@Return JSON String : 사용자 정보
(ex) {"user_id":"ssotest"
,"user_nm":"테스트"
,"user_mbtlnum":"010-1234-1234"
,"user_email":"ssotest@passni.com"
,"user_data":null}
// 사용자 정보가 ""일 경우 getErrorCode() 메서드를 통해 오류코드 획득
String com.ubintis.agt5.api.ApiAgentService.getErrorCode()
@Return String : 오류 코드
String errorCode = "";
String pni_token = StrUtil.NVL( session.getAttribute( "pni_token" ) );
if( !"".equals( pni_token ) ) {
String user_ip = request.getRemoteAddr();
String user_agent = request.getHeader("User-Agent");
ApiAgentService apiAgentService = new ApiAgentService ();
String user_data = apiAgentService.getUserData( pni_token, user_ip, user_agent );
if( "".equals( user_data ) ) {
errorCode= apiAgentService.getErrorCode();
}
}
// 인증 토큰으로 로그인 체크를 한다.
String com.ubintis.agt5.api.ApiAgentService.getLoginCheck (String pni_token)
@param pni_token : 인증 토큰
@Return JSON String : 로그인 체크 결과 정보
(ex) {"code":"SS0001"}
(ex) {"code":"SS0007","data":"192.168.124.163"} // data는 중복로그인 아이피
// "SS0001" : 정상 로그인, "SS0007" : 중복로그인, 이 외 값 : 로그아웃 상태
String pni_token = StrUtil.NVL( session.getAttribute( "pni_token" ) );
if( !"".equals( pni_token ) ) {
ApiAgentService apiAgentService = new ApiAgentService ();
String result_data = apiAgentService.getLoginCheck( pni_token );
}
// 연동시스템 목록을 조회한다. (자기 자신은 제외)
String com.ubintis.agt5.api.ApiDataService.getAgentList ()
@Return JSON String : 연동시스템 목록, 연동시스템이 없을 경우 "none"을 리턴
(ex) [{"agt_nm":"포탈시스템"
,"agt_id":"sso-portal"
,"sso_url":"https://pot.passni.com /passni5/sample/login_proc.jsp"}]
- agt_id(연동시스템 아이디)
- agt_nm(연동시스템 명)
- sso_url(SSO 연동 URL)
// 연동시스템 목록 정보가 ""일 경우 getErrorCode() 메서드를 통해 오류코드 획득
String com.ubintis.agt5.api.ApiDataService.getErrorCode()
@Return String : 오류 코드
String errorCode = "";
ApiDataService apiDataService = new ApiDataService ();
String strAgentList = apiDataService. getAgentList();
if( "".equals(strAgentList ) ) {
errorCode= apiDataService.getErrorCode();
}