Visão geral do SAML v2

O Security Assertion Markup Language (SAML) é um formato de SSO padrão. A sua estrutura com base em XML permite uma autenticação otimizada com troca de informações por meio de documentos XML assinados de modo digital. O SAML v2, ou SAML 2.0, é o protocolo padrão para habilitar o SSO entre domínios com base na web desde 2005.

Saiba mais sobre o SAML

SSO básico

Sejam quais forem as opções de recursos selecionadas, os requisitos de configuração do SSO básico são os mesmos. Adicionar implementações de cartão de crédito ou programa de fidelidade exige mais informações.

Requisitos de configuração

Para configurar o acesso de SSO do SAML ao seu modelo de site, alguns elementos são necessários, incluindo:

  • Certificados de chave pública para verificação de assinatura
  • Público
  • Emissor
  • Informações do ponto de extremidade
  • IPs para adicionar à lista de permissões
  • Informações de suporte do fluxo de hóspedes (isPassive)

Uma implementação padrão de SSO do SAML na Expedia faz a criptografia usando a nossa chave pública, cria um ponto de extremidade de destino e duplica a sua lista de IPs permitidos para proteção contra ataques de interrupção.

Requisitos técnicos:

  • SAML 2.0 em uso no seu site
  • A sua chave privada deve ser usada para assinar toda a resposta do SAML e o conteúdo do SAML deve ser codificado em Base64
  • A chave pública da Expedia será usada para criptografar asserções
  • Preencha os valores de assinatura de acordo com o padrão do SAML v2
  • Inclua o destino e o destinatário na sua resposta do SAML
  • Inclua o emissor na resposta do SAML para que possamos buscar o certificado apropriado

Detalhes de conteúdo

Depois que o cliente faz login por meio do seu provedor de identidade (IdP), uma resposta gerada chamada de conteúdo é enviada ao seu site principal para autenticação. Se a autenticação é bem-sucedida, o cliente recebe acesso. O conteúdo que fornecemos inclui os seguintes campos. Não exigimos todos esses campos, mas usamos alguns deles na experiência do usuário (por exemplo, para exibir o nome do cliente em uma mensagem de boas-vindas) e outros como parte da verificação.

CampoDescriçãoObrigatório?
membershipIdIdentificador único da conta do cliente.Sim
relayStateURL para o qual o cliente será redirecionado assim que a verificação for concluída.Sim
languageIDOs idiomas em que o site vai poder ser visualizado.Não
channelTypePlataformas para as quais o site é otimizado (valores: WEB, MOBILE, TABLET).Não
firstNameNome do cliente.Sim
middleNameNome do meio do cliente.Não
lastNameSobrenome do cliente.Sim
emailEndereço de e-mail do cliente.Sim

Inclusão de programas de fidelidade

Como parte do seu modelo de site, você pode oferecer aos seus clientes a capacidade de juntar pontos de fidelidade nas compras de viagens. O seu modelo também pode permitir que clientes usem pontos de fidelidade acumulados para comprar viagens.

Os mesmos requisitos de configuração da implementação padrão se aplicam.

Detalhes de conteúdo

Além dos atributos descritos na implementação padrão, a funcionalidade de ganho e uso de recompensas de fidelidade requer os seguintes atributos de conta (ProgramAccount).

CampoDescriçãoObrigatório?
programIdIdentificador do programa de fidelidade.Sim
programAccountNumberO número da conta do programa ao qual o cliente é afiliado, também chamado de loyaltyAccountNumber.Não
lastFourDigitsOfCreditCardÚltimos quatro dígitos do cartão de crédito que o cliente usou na reserva.Não
accountNameNome da conta do programa.Não
loyaltyConversionRatioProporção usada para converter o pagamento em pontos ganhos, por exemplo, R$ 1 = 1 ponto.Não
loyaltyAccountBalanceSaldo atual dos pontos de fidelidade ganhos pelo cliente.Sim

Restrição do cartão de pagamento

Podemos configurar o seu site para que clientes usem o cartão de crédito da sua organização para fazer reservas. Isso é opcional, pois todas as soluções de modelo podem aceitar todos os principais cartões de crédito ou débito (e, nos EUA, PayPal).

Segurança e armazenamento do cartão de crédito

Se você optar por exigir a compra usando o cartão de crédito personalizado da sua organização, queremos que sinta segurança. Lidamos com isso das seguintes maneiras:

  • As informações do cartão são armazenadas em um formato tokenizado que é vinculado ao perfil do cliente na Expedia. O armazenamento nunca é feito sem criptografia.
  • Nenhum ser humano tem acesso aos dados não criptografados do cartão, e a descriptografia só acontece com credenciais seguras do IAM.
  • Quando um cartão é pré-carregado na página de pagamento, somente a descrição do cartão fica visível, não o número.
  • O cliente deve inserir o código de segurança do cartão para concluir a reserva com o cartão armazenado.

Requisitos de configuração

Além dos requisitos de configuração da implementação padrão, adicionar o cartão de crédito significa que mais uma camada de segurança será necessária. Para isso, vamos precisar de:

  • Um ponto de extremidade a ser usado para o parâmetro AuthnRequest
  • A sua chave pública para verificação de assinatura

Vamos usar a chave privada da Expedia para assinar o conteúdo do AuthnRequest e compartilhar a nossa chave pública para fazer a validação de assinatura no seu lado.

Detalhes de conteúdo

Junto com os atributos descritos na implementação padrão, quando um cliente faz login no seu site, enviamos um conteúdo de resposta do SAML codificado com asserções assinadas e criptografadas para o ponto de extremidade seguro de SSO da Expedia.

Information

Observação

Se o seu modelo de site também está configurado para juntar pontos de fidelidade, ele vai incluir as informações de ProgramAccount.

O conteúdo também vai conter os seguintes dados do cartão de crédito:

CampoDescriçãoObrigatório?
cardNumberO número do cartão a ser cobrado.Sim
cardTypeTipo de cartão usado (por exemplo, Visa, MasterCard, American Express).Sim
expirationDateData de validade do cartão usado.Sim
addressCategoryCodeO tipo de endereço de cobrança associado ao cartão usado (por exemplo, residencial ou comercial).Sim
firstAddressLinePrimeira linha do endereço de cobrança.Sim
secondAddressLineSegunda linha do endereço de cobrança.Não
thirdAddressLineTerceira linha do endereço de cobrança.Não
cityNameCidade do endereço de cobrança.Sim
provinceNameEstado ou província do endereço de cobrança.Sim
postalCodeCódigo postal do endereço de cobrança.Sim
countryCodeCódigo do país do endereço de cobrança.Sim

AuthnRequest

A Expedia envia os parâmetros AuthnRequest e RelayState para o seu ponto de extremidade quando um usuário não autenticado acessa o seu modelo de site. Isso solicita que o usuário faça login, o que inicia o processo de SSO.

Os elementos AuthnRequest incluem:

CampoDescriçãoObrigatório?
AssertionConsumerServiceURLURL para o modelo de site da Expedia após o usuário fazer login.Sim
DestinationURL do seu ponto de extremidade para publicar o AuthnRequest.Sim
IssuerA origem dos dados. Valores: Expedia-Test ou Expedia-Prod.Sim
SignatureAssinatura de SSO a ser validada pelo seu site principal.Sim

Para mais informações, confira o nosso exemplo de conteúdo.

Esta página foi útil?
Como podemos melhorar esse conteúdo?
Agradecemos por nos ajudar a melhorar.