Developer Hub
자동 생성된 번역입니다.

SAML v2 개요

SAML(Security Assertion Markup Language)은 표준 SSO 형식입니다. XML 기반 프레임워크는 디지털 서명된 XML 문서를 통해 정보를 교환하여 원활한 인증이 가능하도록 지원합니다. SAML v2(또는 SAML 2.0)는 2005년부터 웹 기반 도메인 간 SSO를 지원하는 표준 프로토콜입니다.

>> SAML에 대해 자세히 알아보기

인증 흐름

alt

기본 SSO

선택한 기능에 관계없이 기본 SSO의 설정 요구 사항은 동일합니다. 로열티 또는 신용카드 구현을 추가하려면 추가 정보가 필요합니다.

설정 요구 사항

템플릿 사이트에 대한 SAML SSO 액세스를 올바르게 설정하려면 다음과 같이 몇 가지 사항이 필요합니다.

  • 공개 키 인증서: 귀사 측에서 개인 키를 사용하여 SAML 파일을 인증하면, 익스피디아 측에서 공개 키를 통해 이를 검증합니다.
  • 수신자: SAML 어설션이 발급되는 대상 서비스 제공자로, 지정된 수신자만이 어설션을 수락하도록 보장하기 위해 AudienceRestriction 매개변수 내에 명시됩니다.
  • 발행자: SAML 어설션을 생성하고 디지털 서명을 하여 사용자의 인증된 신원을 검증하는 신원 제공자(IDP) 엔티티입니다.
  • 엔드포인트 세부 정보: 인증(Authn) 엔드포인트는 인증 요청이 전송되는 ID 제공자의 URL입니다. 사용자가 인증되면 익스피디아 SSO 엔드포인트가 SSO를 시작하도록 템플릿 사이트를 구성해야 합니다.
  • 허용 목록에 추가할 IP 주소: 템플릿 사이트와 익스피디아 간에 통신이 허용될 IP 주소 목록입니다. 허용 목록(귀사 측 또는 당사 측)에 포함되지 않은 IP 주소의 경우, 인바운드 및 아웃바운드 SSO 호출 모두에서 연결 문제가 발생할 수 있습니다.
  • 게스트 이용 절차 (isPassive) 지원 세부 정보: 해당 사이트에서 게스트 모드를 제공할지, 아니면 사용자가 사이트 콘텐츠에 접근할 때마다 반드시 로그인해야 하는지 여부.

Expedia의 표준 SAML SSO 구현은 공개 키를 사용하여 암호화하고, 대상 엔드포인트를 생성하고, IP 허용 목록을 복제하여 방해 공격으로부터 보호합니다.

기술 요구 사항:

  • 사이트에서 SAML 2.0을 사용해야 합니다.
  • 개인 키는 전체 SAML 응답에 서명하는 데 사용되어야 하며 SAML 페이로드는 Base64로 인코딩되어야 합니다.
  • 익스피디아의 공개 키를 사용하여 어설션을 암호화한 후, 익스피디아의 개인 키를 사용하여 이를 복호화합니다.
  • SAML v2 표준에 따라 서명 값을 채웁니다.
  • SAML 응답에 목적지와 수신자를 포함합니다.
  • 적절한 인증서를 가져올 수 있도록 SAML 응답에 발행자를 포함합니다.

페이로드 세부 정보

고객이 신원 제공자(IdP)를 통해 로그인하면, IdP는 인증을 위해 ‘페이로드’라고 하는 생성된 응답을 귀하의 메인 사이트로 전송합니다. 인증에 성공하면 고객에게 액세스 권한이 부여됩니다. 제공하는 페이로드에는 다음 필드가 포함됩니다. 이러한 필드가 모두 필요한 것은 아니지만 일부 필드는 사용자 경험(예: 환영 메시지에 고객의 이름 표시)에 사용하고 다른 필드는 인증의 일부로 사용합니다.

필드설명필수 여부
membershipId고객 계정의 고유 식별자
relayState인증이 완료되면 고객이 리디렉션되는 URL
languageID사이트에서 표시되는 언어
channelType사이트가 최적화된 플랫폼(값: WEB, MOBILE, TABLET)
firstName고객의 이름
middleName고객의 중간 이름
lastName고객의 성
email고객의 이메일 주소

로열티 추가

템플릿 사이트의 일부로, 고객이 여행 상품을 구매할 때 로열티 포인트를 적립할 수 있는 기능을 포함할 수 있습니다. 또한 귀사의 템플릿을 통해 고객들이 적립한 로열티 포인트를 사용하여 여행 상품을 구매할 수 있도록 할 수 있습니다.

>> 로열티 포인트에 대해 더 알아보기

표준 구현과 동일한 설정 요구 사항이 적용됩니다.

페이로드 세부 정보

표준 구현에 설명된 속성 외에도 로열티 적립 및 사용 기능에는 다음 계정(ProgramAccount) 속성이 필요합니다.

필드설명필수 여부
programId로열티 프로그램의 등급 식별자
programAccountNumber고객이 가입한 프로그램의 계정 번호(loyaltyAccountNumber라고 함)
lastFourDigitsOfCreditCard고객이 예약에 사용한 신용카드의 마지막 4자리 숫자
accountName프로그램 계정 이름
loyaltyConversionRatio결제액이 적립 포인트로 전환되는 비율(예: $1 = 1포인트)
loyaltyAccountBalance고객이 적립한 로열티 포인트의 현재 잔액

결제 카드 제한

고객이 예약 시 귀사의 신용카드를 반드시 사용해야 하도록 귀사의 사이트를 설정해 드릴 수 있습니다. 이는 선택 사항입니다. 모든 템플릿 솔루션은 모든 주요 신용카드나 직불카드, 그리고 (미국의 경우) PayPal을 허용할 수 있습니다.

신용카드를 안전하게 저장

조직의 맞춤형 신용카드를 사용하여 구매하도록 선택하는 경우 안전하게 사용할 수 있습니다. 이를 처리하는 방법은 다음과 같습니다.

  • 카드 정보는 고객의 Expedia 프로필에 연결된 토큰화된 형태로 저장됩니다. 암호화되지 않은 상태로 저장되는 경우는 없습니다.
  • 암호화되지 않은 카드 데이터에 누구도 액세스할 수 없으며, 암호 해독은 안전한 IAM 자격 증명을 사용해서만 수행됩니다.
  • 카드가 결제 페이지에 미리 로드되어 있는 경우 카드 번호가 아닌 카드 설명만 표시됩니다.
  • 고객은 저장된 카드로 예약을 완료하려면 카드의 CVC를 입력해야 합니다.

설정 요구 사항

표준 구현의 설정 요구 사항 외에도 신용카드를 추가하면 보안 계층을 추가해야 합니다. 이를 위해 다음이 필요합니다.

  • AuthnRequest 매개변수에 사용할 엔드포인트
  • 서명 인증을 위한 공개 키

Expedia의 개인 키를 사용하여 AuthnRequest 페이로드에 서명하고 공개 키를 공유하여 파트너사에서 서명 검증을 수행합니다.

페이로드 세부 정보

표준 구현에 설명된 속성과 함께 고객이 사이트에 로그인하면 서명 및 암호화된 어설션을 포함한 인코딩된 SAML 응답 페이로드를 안전한 Expedia SSO 엔드포인트로 전송합니다.

Information

참고

템플릿 사이트가 로열티 포인트를 적립하도록 설정된 경우 ProgramAccount 정보도 포함됩니다.

페이로드에는 다음과 같은 신용카드 정보도 포함됩니다.

필드설명필수 여부
cardNumber청구할 카드 번호
cardType사용한 카드 유형(예: Visa, MasterCard, American Express)
expirationDate사용한 카드의 만료 날짜
addressCategoryCode사용된 카드와 연결된 청구 주소 유형(예: 집 또는 사무실)
firstAddressLine청구 주소의 첫 번째 줄
secondAddressLine청구 주소의 두 번째 줄
thirdAddressLine청구 주소의 세 번째 줄
cityName청구 주소의 도시
provinceName청구 주소의 주/도
postalCode청구 주소의 우편 번호
countryCode청구 주소의 국가 코드

AuthnRequest

인증되지 않은 사용자가 템플릿 사이트에 액세스하면 Expedia는 AuthnRequestRelayState 매개변수를 모두 엔드포인트로 전송합니다. 그러면 사용자에게 로그인하라는 메시지가 표시되고 SSO 프로세스가 시작됩니다. 그런 다음 고객을 익스피디아의 SSO 엔드포인트로 리디렉션하여 템플릿 사이트에 대한 SSO를 시작하게 됩니다.

AuthnRequest 요소는 다음과 같습니다.

필드설명필수 여부
AssertionConsumerServiceURL사용자가 로그인한 후 Expedia 템플릿 사이트의 URL
DestinationAuthnRequest를 게시할 엔드포인트의 URL
Issuer데이터의 출처. 값: Expedia-Test 또는 Expedia-Prod
Signature기본 사이트에서 검증할 SSO 서명

>> 자세한 내용은 페이로드 예시를 참조하세요.

익스피디아 엔드포인트

사용자가 인증을 마치면, 해당 사용자를 {WLTP domain}/sso/saml 로 리디렉션해야 합니다.

이 페이지가 도움이 되었나요?
이 콘텐츠를 어떻게 개선하면 좋을까요?
더 나은 Developer Hub를 만드는 데 도움을 주셔서 감사합니다!