Developer Hub
これは自動生成された翻訳です。

SAML v2 の概要

SAML (Security Assertion Markup Language) は標準的な SSO フォーマットです。その XML ベースのフレームワークにより、電子署名された XML ドキュメントを介した情報交換によるシームレスな認証を可能にします。SAML v2 (別名 SAML 2.0) は、2005 年以来、Web ベースのクロスドメイン SSO を可能にする標準プロトコルとなっています。

>> SAMLについて詳しくはこちら

認証フロー

alt

ベーシック SSO

選択した機能に関係なく、ベーシック SSO の設定要件は同じです。ロイヤルティまたはクレジット カードの実装を追加すると、追加情報が必要になります。

設定要件

テンプレートサイトへの SAML SSO アクセスを適切に設定するには以下が必要です。

  • 公開鍵証明書: お客様側で秘密鍵を使用してSAMLファイルを認証していただき、エクスペディア側では公開鍵を用いて検証を行います。
  • 対象: SAMLアサーションが発行される対象のサービスプロバイダーです。AudienceRestriction パラメータ内で指定され、アサーションが指定された受信者のみによって受け入れられるようにします。
  • 発行者: SAMLアサーションを生成し、デジタル署名を行うアイデンティティプロバイダー(IDP)エンティティであり、これによりユーザーの認証済み身元を確認します。
  • エンドポイントの詳細: 認証(Authn)エンドポイントとは、認証リクエストが送信されるIDプロバイダー側のURLのことです。ユーザーが認証されると、ExpediaのSSOエンドポイントがSSOを開始するように、テンプレートサイトを設定する必要があります。
  • 許可リストに追加するIPアドレス: テンプレートサイトとエクスペディアの間で通信が許可されるIPアドレスのリストです。(お客様側または弊社側の)許可リストに含まれていないIPアドレスでは、SSOコールの受信および送信の両方で接続上の問題が発生します。
  • ゲストフロー(isPassive))のサポート詳細: サイトではゲストとして利用可能にするか、それともユーザーがサイトのコンテンツにアクセスするには常にログインが必要になるか。

エクスペディアの標準的な 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 を受け付けることができるため、これは必須ではありません。

クレジットカードの安全性と保管

組織のカスタムクレジット カードを使用して購入することを義務付けた場合でも、心配は無用です。クレジットカードは次のように扱われます。

  • 顧客のエクスペディアプロフィールにリンクされた、トークン化された形式でカード情報が保存されます。暗号化されていない状態で保存されることは決してありません。
  • 人間は暗号化されていないカードデータにアクセスできず、安全な IAM ログイン情報を使用しないと復号化できなくなっています。
  • カードがチェックアウトページにプリロードされると、カード番号ではなくカードの説明のみが表示されます。
  • 保存されたカードで予約を完了する場合、顧客はカードのセキュリティコードを入力する必要があります。

設定要件

標準実装の設定要件に加え、クレジットカードが追加されるとエクスペディアでセキュリティをさらに強化する必要があります。そのためには以下が必要です。

  • AuthnRequest パラメーターに使用するエンドポイント
  • 署名検証用の公開鍵

エクスペディアでは自社の秘密鍵を使用して AuthnRequest ペイロードに署名し、公開鍵を共有して貴社側で署名検証を実行してもらいます。

ペイロードの詳細

顧客がサイトにログインすると、標準実装で説明されている属性とともに、署名され暗号化されたアサーションを含むエンコードされた SAML レスポンスペイロードが、セキュアなエクスペディア SSO エンドポイントに送信されます。

Information

注意

ロイヤルティポイントを獲得するようにテンプレートサイトが設定されている場合は、ProgramAccount 情報も含まれます。

ペイロードには次のクレジット カードの詳細も含まれます。

フィールド説明必須/必須ではない
cardNumber請求対象のクレジットカードの番号必須
cardType使用されるカードの種類 (例 : Visa、MasterCard、American Express)必須
expirationDate使用されるクレジットカードの有効期限必須
addressCategoryCode使用されたカードに関連付けられているクレジットカード登録住所の種類 (例:自宅または会社)必須
firstAddressLineクレジットカード登録住所の 1 行目必須
secondAddressLineクレジットカード登録住所の 2 行目
thirdAddressLineクレジットカード登録住所の 3 行目
cityNameクレジットカード登録住所の市町村必須
provinceNameクレジットカード登録住所の都道府県必須
postalCodeクレジットカード登録住所の郵便番号必須
countryCodeクレジットカード登録住所の国コード必須

AuthnRequest

認証されていないユーザーがテンプレートサイトにアクセスすると、エクスペディアは AuthnRequestRelayState の両方のパラメーターをエンドポイントに送信します。これによりユーザーにログインを要求し、SSO プロセスを開始します。その後、お客様をエクスペディアのSSOエンドポイントにリダイレクトし、テンプレートサイトへのSSOを開始します。

AuthnRequest 要素には以下が含まれています。

フィールド説明必須/必須ではない
AssertionConsumerServiceURLユーザーがログインした後のエクスペディアテンプレートサイトへの URL必須
DestinationAuthnRequest をポストするエンドポイントの URL必須
Issuerデータの出所 (値 : Expedia-Test または Expedia-Prod)必須
Signatureメインサイトで検証される SSO 署名必須

>> 詳細については、ペイロードの例をご覧ください

エクスペディアのエンドポイント

ユーザーが認証を完了したら、{WLTP domain}/sso/saml へリダイレクトする必要があります。

このページは役に立ちましたか ?
このコンテンツに改善が必要な点があれば、
サービス向上にご協力いただきありがとうございます。