페이지 트리
메타 데이터의 끝으로 건너뛰기
메타 데이터의 시작으로 이동

이 페이지의 이전 버전을 보고 있습니다. 현재 버전 보기.

현재와 비교 페이지 이력 보기

« 이전 버전 7 다음 »


Page No.  112038629

작성자 :   / 검수자 :  


 Launch Release No. 7.3.500.20250722 / Latest Release No. 

※ 주의 : 기타 외부 시스템 인증 방식의 SSO연동을 적용하기 위해 '3-0.공통 설정' 과정을 선행으로 설정해야 함



1. 기타 외부 시스템 인증

- 개요

> 이 가이드를 통해 자체 인증 방식에 대한 로직을 SpCustomEndPoint.java에 자유롭게 구현하고, 그 성공 또는 실패 결과만을 AUD플랫폼 시스템에 전달하여 후속 처리를 위임할 수 있습니다.


- API 명세

> Endpoint URL: [AUD플랫폼 서비스 도메인]/api/auth/ap/sso/endpoint

> HTTP Method: GET, POST (둘 다 지원)

> Content-Type: application/x-www-form-urlencoded


3. 처리 흐름

> /api/auth/ap/sso/endpoint 호출 -> SpCustomEndPoint.java의 responseParsing에서 httpServletRequest로 받아서 처리

> 이때, SAML Assertion 안에 AttributeStatement가 포함되어 사용자의 역할, 부서, 이메일 등 속성 정보가 전달

    ( 주의: 고객사 측 인증 시스템에 등록된 사용자가 AUD플랫폼에 사용자로 등록되어 있어야 함)


− 적용 방법

1) PORTAL 설정

1-1) Admin 시스템 운영관리 > PORTAL 설정 > sso 설정 사용 체크 후 옵션 버튼 클릭

1-2) SSO Type = SAML

1-3) NAME ID 설정 = (SAML 응답에서 사용자의 주요 식별자(ID)를 어떤 방식으로 받을지 결정하는 설정)

true : SAML 표준 필드인 <NameID> 태그의 값을 사용자 ID로 사용하겠다는 의미

false : <NameID> 필드를 사용하지 않고, 별도의 <AttributeStatement> 안에 포함된 커스텀 속성(Attribute) 값을 사용자 ID로 사용하겠다는 의미

1-4) AttributeStatement Claims (?) = (NAME ID 설정이 false일 때 사용, SAML 응답의 <AttributeStatement> 안에 여러 속성들이 있을 때, 그중 어떤 속성이 실제 사용자 ID인지 알려주는 속성 )

1-5) SSO 서비스 URL = (사용자가 로그인을 해야 할 때, SP가 사용자를 보내야 하는 IdP의 로그인 페이지 URL)

1-6) SSO ENTITY ID = (IdP를 유일하게 식별하는 고유한 이름(주소))

1-7) SSO 로그아웃 URL = (SP에서 시작된 로그아웃 요청을 처리하기 위해 IdP가 제공하는 로그아웃 URL)

1-8) 인증서 알고리즘 = (인증서를 검증하는 또 다른 방법인 지문(Fingerprint)을 생성할 때 사용할 해시 알고리즘을 지정)

1-9) Public 인증서 정보 = (IdP가 보낸 SAML 응답이 위조되지 않았음을 검증하기 위한 IdP의 공개 인증서)

( 해당 값들은 사이트에서 별도로 전달하므로 전달 받은 속성 값을 그대로 설정)

(?)


2) PORTAL 더보기 설정

> Admin -> Portal 설정 -> 더보기

> OP06_PATH_LOGIN_CONTENT = /extention/portal/samlLogin.jsp 로 변경


3) IdP(고객사 측 인증 시스템)에 Service URL, Endpoint URL 등록 요청

> Service URL : https://[AUD플랫폼 서비스 도메인]/api/auth/saml/sp/entity

> Endpoint Url : https://[AUD플랫폼 서비스 도메인]/extention/sso/acs.jsp




3. OAUTH2인증

− 처리 흐름

> 사용자 로그인 → SP(서비스 제공자)가 사용자를 IdP(인증 정보 제공자)의 로그인 페이지로 리다이렉트 → IdP(인증 정보 제공자)에서 SP(서비스 제공자)이 정보를 사용하는 것을 허용 동의 

> IdP(인증 정보 제공자)는 사용자를 redirect_uri(api/auth/oauth2/callback)로 인증 코드와 함께 다시 돌려보냄

> SP(서비스 제공자)에서 인증코드와 함께 CLIENT_ID, CLIENT_SECRET을 IdP의 토큰 엔드포인트로 보냄

> IdP(인증 정보 제공자)는 모든 정보가 일치 시 액세스 토큰 발급 → SP(서비스 제공자)은 발급받은 Access Token을 사용자 정보 엔드포인트로 보냄

> IdP(인증 정보 제공자)는 토큰을 검증하고 해당 사용자의 정보(JSON)를 응답 → SP(서비스 제공자)은 외부 IdP(인증 정보 제공자)를 통해 검증된 사용자의 ID를 확보하여 로그인 처리

   ( 주의: 고객사 측 인증 시스템에 등록된 사용자가 AUD플랫폼에 사용자로 등록되어 있어야 함)


− 적용 방법

1) PORTAL 설정

1-1) Admin 시스템 운영관리 > PORTAL 설정 > sso 설정 사용 체크 후 옵션 버튼 클릭

1-2) SSO Type = OAUTH2

1-3) OAUTH2 서버 Base URL = (IdP 서버의 기본 주소)

1-4) Client ID = (IdP가 AUD 시스템을 식별하기 위해 발급해주는 공개된 ID)

1-5) Client Secrets = (CLIENT_ID와 함께 사용되는 비밀 키로, AUD 시스템이 정당한 클라이언트임을 증명할 때 사용)

1-6) Scope = (어떤 권한들을 요청하는지를 명시하는 목록) ex) openid profile email

1-7) 인가 코드 엔드포인트 = (ID 공급자(IdP)의 로그인 및 권한 동의 페이지 URL) ex) /v1/authorize

1-8) 토큰 엔드포인트 = (인증 코드를 액세스 토큰으로 교환해주는 API의 경로)

1-9) 유저 정보 조회 엔드포인트 = (액세스 토큰을 사용하여 사용자 정보(ID, 이메일 등)를 조회할 수 있는 API의 경로)

1-10) User ID Key = (사용자 정보 API 응답(JSON)에서 **사용자 ID가 담긴 필드의 이름)

1-11) AUD Target URL = (모든 인증 과정이 성공적으로 끝난 후, 사용자를 최종적으로 이동시킬 페이지 주소) ex) /portal/Content.jsp

( 해당 값들은 사이트에서 별도로 전달하므로 전달 받은 속성 값을 그대로 설정)

(?)


2) PORTAL 더보기 설정

> Admin -> Portal 설정 -> 더보기

> OP06_PATH_LOGIN_CONTENT = /extention/portal/oauth2Login.jsp 로 변경


3) IdP(고객사 측 인증 시스템)에 Redirection URL 등록 요청

> Redirection URL : https://[AUD플랫폼 서비스 도메인]/api/auth/oauth2/callback


  • 레이블 없음