SAML v2 概述
安全断言标记语言 (SAML) 是一种标准的单点登录 (SSO) 格式。其基于 XML 的框架可通过数字签名的 XML 文档进行信息交换,从而实现无缝身份验证。自 2005 年起,SAML v2(又称 SAML 2.0)便成为实现基于 web 的跨域 SSO 的标准协议。
授 权流程

基本 SSO
无论您选择了哪种功能,基本 SSO 的设置要求都是一样的。添加会员积分或信用卡集成功能将需要额外的信息。
设置要求
要正确设置模板网站的 SAML SSO 访问权限,我们需要以下内容:
- 公钥证书(用于签名验证)
- 受众
- 签发者
- 端点详情
- 可添加到白名单的 IP
- 访客流 (isPassive) 支持详情
Expedia SAML SSO 的实施标准将使用我们的公钥进行加密,创建目的地端点,并复制您的 IP 白名单,以防范中断攻击。
技术要求:
- 在您的网站上使用 SAML 2.0
- 您的私钥必须用于为整个 SAML 响应签名,SAML 有效负载应使用 Base64 编码
- Expedia 的公钥将用于加密断言
- 根据 SAML v2 标准填充签名值
- 在 SAML 响应中包含目的地和收件人
- 在 SAML 响应中包含签发者,以便我们获取适当的证书
有效负载详情
客户通过您的身份提供商 (IdP) 登录后,它会将生成的响应(称为有效负载)发送到您的主站点进行身份验证。如果身份验证成功,客户将获准访问。我们提供的有效负载包括以下字段。我们并不需要所有这些字段,但我们会使用其中一些字段来实现用户体验(例如,在欢迎信息中显示客户姓名),另一些字段则用于部分验证。
| 字段 | 说明 | 是否必填? |
|---|---|---|
membershipId | 客户账户的唯一标识符 | 是 |
relayState | 验证完成后,客户将被重定向到的 URL | 是 |
languageID | 网站可显示的语言 | 否 |
channelType | 经过优化的网站平台(值:WEB、MOBILE、TABLET) | 否 |
firstName | 客户的名字 | 是 |
middleName | 客户的中间名 | 否 |
lastName | 客户的姓氏 |