SAML v2 簡介

安全性聲明標記語言 (SAML) 是標準 SSO 格式。其 XML 架構透過數位簽章的 XML 文件交換資訊,實現無縫驗證。SAML v2 (或 SAML 2.0) 自 2005 年以來一直是支援網頁式、跨網域 SSO 的標準通訊協定。

深入了解 SAML

基本 SSO

無論您選擇什麼功能,基本 SSO 的設定需求都相同。新增會員計畫或信用卡實作將需要額外的資訊。

設定需求

為了正確設定您範本網站的 SAML SSO 存取權,我們需要一些項目,包括:

  • 公開金鑰憑證 (用於簽章驗證)
  • 對象
  • 簽發者
  • 端點詳細資料
  • 要新增至允許清單的 IP
  • 訪客流程 (isPassive) 支援詳細資料

Expedia 的標準 SAML SSO 實作將使用我們的公開金鑰進行加密、建立目的地端點,並複製您的 IP 允許清單以防止中斷攻擊。

技術需求:

  • 您的網站使用 SAML 2.0
  • 您的私密金鑰必須用於簽署整個 SAML 回應,且 SAML 有效負載應採用 Base64 編碼
  • Expedia 的公開金鑰將用於加密判斷提示
  • 根據 SAML v2 標準填入簽章值
  • 在 SAML 回應中包含目的地和收件人
  • 在 SAML 回應中包含簽發者,以便我們擷取正確的憑證

有效負載詳細資料

在旅客透過您的識別提供者 (IdP) 登入之後,會將產生的回應 (稱為有效負載) 傳送至您的主要網站以進行驗證。如果驗證成功,旅客將獲得存取權。我們提供的有效負載包含下列欄位。欄位並非全部必要,但我們會使用其中一些欄位提供使用者體驗 (例如在歡迎訊息中顯示旅客的姓名),並在驗證中使用其他欄位。

欄位詳情是否為必要?
membershipId旅客帳戶的唯一識別碼
relayState驗證完成後,會重新導向旅客前往的網址
languageID用於檢視網站的語言
channelType網站最佳化的目標平台 (值:WEB、MOBILE、TABLET)
firstName旅客的名字
middleName旅客的中間名
lastName旅客的姓氏
email旅客的電子郵件地址

新增會員計畫

您可以在範本網站中,加入讓旅客透過購買旅遊相關產品賺取會員點數的功能。您的範本也可讓旅客兌換累積的會員點數來購買旅遊相關產品。

適用與標準實作相同的設定需求。

有效負載詳細資料

除了標準實作中所述的屬性之外,會員賺取點數和兌換功能還需要下列帳戶 (ProgramAccount) 屬性。

欄位詳情是否為必要?
programId會員計畫的等級識別碼
programAccountNumber旅客所屬計畫的帳號 (也稱為 loyaltyAccountNumber)
lastFourDigitsOfCreditCard旅客預訂時所用信用卡的末 4 碼
accountName計畫帳戶名稱
loyaltyConversionRatio付款轉換為賺取點數的比率 (例如 $1 = 1 點)
loyaltyAccountBalance旅客所賺取會員點數的目前餘額

限制支付卡

我們可以將網站設定為旅客必須使用您組織的信用卡進行預訂。這是選擇性設定,因為所有範本解決方案都可以接受所有主要信用卡或金融卡,以及 PayPal (僅限美國) 。

信用卡安全與儲存

如果選擇要求使用您組織的自訂信用卡進行購買,我們希望您能感到安心。以下是我們的處理方式。

  • 卡片資訊會以記號化形式儲存,並連結至旅客的 Expedia 個人檔案。絕不會以未加密的方式儲存。
  • 任何人都無法存取未加密的卡片資料,且只能使用安全的 IAM 登入資訊進行解密。
  • 當卡片預先載入付款頁面時,只會顯示卡片詳情,不會顯示卡號。
  • 旅客必須輸入卡片的信用卡安全碼,才能使用儲存的卡片完成預訂。

設定需求

除了來自標準實作的設定需求之外,新增您的信用卡也表示必須增加額外一層安全性。為此,我們需要:

  • 用於 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 程序。

AuthnRequest 元素包括:

欄位詳情是否為必要?
AssertionConsumerServiceURL使用者登入後的 Expedia 範本網站網址
DestinationAuthnRequest 的發佈目的地端點網址
Issuer資料的來源;值:Expedia-Test 或 Expedia-Prod
Signature要由主要網站驗證的 SSO 簽章

如需詳細資訊,請參閱我們的有效負載範例

這個頁面有幫助嗎?
我們能如何改善內容?
感謝您協助我們進行改善!