<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Pass-Ni SSO Agent 가이드

유비앤티스랩

 오류 코드

SSO 솔루션 이용 시 발생할 수 있는 오류 코드에 대한 목록입니다.
코드 설명 코드 설명
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 코드 요청

SSO 코드 요청 명세
  • 					
    // 인증 토큰으로 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 : 오류 코드
    					
SSO 코드 요청 예제
  • 					
    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();
    }