{"info":{"_postman_id":"b478973c-df3b-4d91-9356-52d186d1222c","name":"Travellink API – SSO - Documentação","description":"<html><head></head><body><p>SSO - Travellink</p>\n<p>Coleções para desenvolvedores<br>Dúvidas e sugestões <a href=\"null\">api.travellink@wooba.com.br</a></p>\n<p><em><strong>O que é SSO? | Como funciona o login único</strong></em><br>O Login Único (SSO) é uma importante tecnologia de segurança em nuvem que reduz todos os logins de aplicativos do usuário a um login para maior segurança e conveniência.</p>\n<p><em><strong>O que é login único (SSO)?</strong></em><br>O login único (SSO) é uma tecnologia que combina as telas de login de vários aplicativos diferentes em uma única tela. Com o SSO, um usuário só precisa digitar suas credenciais de login (nome de usuário, senha etc.) uma vez em uma única página para acessar todos os seus aplicativos SaaS.</p>\n<h1 id=\"configuracoes-iniciais\"><strong>Configurações Iniciais</strong></h1>\n<p><strong>Passo 1</strong></p>\n<p>O desenvolvedor precisa informar para o Contratante/Operadora qual a URL de redirecionamento.</p>\n<p><strong>Passo 2</strong></p>\n<p>O contratante/Operadora irá acessar o Portal Painel de acesso:<br><a href=\"null\">https://operadorateste.com.br/PainelDeAcessos/</a></p>\n<p>Conteúdo Travellink API &gt; Credencial&gt; Selecionar:</p>\n<p><strong>Dados Básicos:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><br>Tipo de API  <br>  <br>ID  <br>  <br>Nome  <br>  <br>Client ID  <br>  <br>Client Secret  <br>  <br>Status  <br>  <br>URL Redirecionamento  <br>  <br></th>\n<th><br>Credencial Travellink_auth  <br>  <br>ID é gerado automaticamente  <br>  <br>Nome exemplo: Desenvolvedor Teste SSO  <br>  <br>Informação gerada automaticamente  <br>  <br>Informação gerada automaticamente  <br>  <br>Manter Ativo  <br>  <br>Informação que será informada pelo desenvolvedor.  <br>(Obs.: Quando esse campo for preenchido o Travellink irá validar se a URL REDIRECT_URL é = valor do campo.  <br>Se não preenchido, ele vai liberar para qualquer REDIRECT_URI  <br>  <br></th>\n</tr>\n</thead>\n<tbody>\n</tbody>\n</table>\n</div><p><strong>Contexto :</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><br>Unidade  <br>  <br>Agência  <br>  <br>Cliente  <br>  <br>  <br></th>\n<th><br>Cadastrando a credencial por unidade, agência e cliente, o Travellink irá respeitar a mesma hierarquia.  <br>  <br>  <br>  <br>  <br>  <br>  <br>  <br></th>\n</tr>\n</thead>\n<tbody>\n</tbody>\n</table>\n</div><p><strong>Passo 3</strong></p>\n<p>O Contratante/Operadora, deverá informar para o Desenvolvedor os dados dos campos Client ID e Client Secret.</p>\n<img src=\"https://content.pstmn.io/915e625c-9cc4-4cc2-b08b-5fb53ea1cc93/Q2FwdHVyYSBkZSB0ZWxhIDIwMjMtMDctMjEgMTYwODU4LmpwZw==\">\n\n<h1 id=\"api-autenticacao\"><strong>API Autenticação</strong></h1>\n<p><strong>Autenticação</strong></p>\n<p><strong>Passo 1</strong></p>\n<p>O desenvolvedor deve incluir o botão na página de autenticação.<br>Seguindo o modelo de exemplo:</p>\n<p><a href=\"null\">https://wooba-sandbox.travellink.com.br/Agencias30/auth/authorize?client_id={CLIENT_ID}&amp;response_type=code&amp;scope=openid&amp;redirect_uri={REDIRECT_URI</a>}</p>\n<p>EndFragment</p>\n<img src=\"https://content.pstmn.io/0b01c3c2-fa4a-47fe-8434-59bb0d5ac5d1/Q2FwdHVyYSBkZSB0ZWxhIDIwMjMtMDctMjEgMTYxMzE5LmpwZw==\">\n\n<p><strong>Obs.:</strong> As informações Cliente ID e o REDIRECT URL, são parâmetros obrigatórios que devem ser informados na URL do botão.</p>\n<p><strong>Passo 2</strong></p>\n<p>Quando o usuário autenticar no Travellink, ele será redirecionado para o endereço na REDIRECT_URL e o token de autenticação será enviado como parâmetro CODE.</p>\n<p><strong>Modelo de redirecionamento:</strong></p>\n<p><a href=\"null\">{REDIRECT_URI</a>}? code={CODE}</p>\n<p><a href=\"null\">https://meudominio.com.br?code={CODE</a>}</p>\n<p>Após se logar no Travellink receberá a resposta abaixo:</p>\n<p><strong>Passo 3</strong><br>Após obter o valor CODE o desenvolvedor deverá fazer uma chamada Post para obter o ID_Token.</p>\n<p><strong>Exemplo Post:</strong><br>POST /Agencias30/auth/authorize/token HTTP/1.1<br>Host: wooba-sandbox.com.br<br>Authorization: Basic e0NMSUVOVF9JRH06e0NMSUVOVF9TRUNSRVR9</p>\n<p><strong>Content-Type: application/json:</strong><br>{<br>\"grant_type\": \"authorization_code\",<br>\"redirect_uri\": \"{{redirect_uri}}\",<br>\"client_id\": \"{{client_id}}\",<br>\"client_secret\": \"{{client_secret}}\",<br>\"code\": \"{{code}}\"<br>}</p>\n<img src=\"https://content.pstmn.io/7463764f-3762-4bfe-9c2d-3b84b9fd8d2c/Q2FwdHVyYSBkZSB0ZWxhIDIwMjMtMDctMjEgMTYxNTQ3LmpwZw==\" width=\"413\" height=\"197\">\n\n<p><strong>Exemplo www-form-urlencoded:</strong><br>O formato application/x-www-form-urlencoded também é aceito:</p>\n<p>POST /Agencias30/auth/authorize/token HTTP/1.1<br>Host: wooba-sandbox.com.br<br>Authorization: Basic e0NMSUVOVF9JRH06e0NMSUVOVF9TRUNSRVR9</p>\n<p>Content-Type: application/x-www-form-urlencoded<br>code={CODE}&amp;client_id={CLIENT_ID}&amp;client_secret={CLIENT_SECRET}&amp;grant_type=authorization_code&amp;redirect_uri={REDIRECT_URI}</p>\n<img src=\"https://content.pstmn.io/817e0ce9-6b54-4a7b-ac4a-22a8c06a8f87/Q2FwdHVyYSBkZSB0ZWxhIDIwMjMtMDctMjEgMTYxNjIzLmpwZw==\">\n\n<p>Obs.: Authorization são {CLIENT_ID}:{CLIENT_SECRET} codificado em Base64</p>\n<p><strong>Modelo de resposta:</strong><br>{<br>\"token_type\": \"Bearer\",<br>\"expires_in\": 3600,<br>\"id_token\": \"token_jwt\"<br>}</p>\n<img src=\"https://content.pstmn.io/4d1fad7b-27d8-4271-a7f3-3fd34ec24caa/Q2FwdHVyYSBkZSB0ZWxhIDIwMjMtMDctMjEgMTYxNjQ0LmpwZw==\" width=\"261\" height=\"136\">\n\n<p><strong>Obtendo o id_token</strong></p>\n<img src=\"https://content.pstmn.io/3a1689f6-4a6c-4a07-8996-45e1b0413d5c/Q2FwdHVyYSBkZSB0ZWxhIDIwMjMtMDctMjEgMTYxNzExLmpwZw==\">\n\n<p>**Claims do Usuário:**<strong>Dados que estão dentro do ID Token:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><br>sub  <br>  <br>email  <br>  <br>name  <br>  <br>role  <br>  <br>useremails  <br>  <br>phone_number  <br>  <br></th>\n<th><br>Id do usuário no Travellink  <br>  <br>Email do usuário  <br>  <br>Nome do usuário completo  <br>  <br>Tipo de acesso user – Interno ou Externo  <br>  <br>Mais de um email de usuário separados por;  <br>  <br>Só irá ser enviado se o cadastro do usuário estiver com tel. cadastrado  <br>  <br></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Claims da Agência:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><br>agencyid  <br>  <br>agencybackofficecode  <br>  <br>agencydocument  <br>  <br>ragencyname  <br>  <br>agencybusinessname  <br>  <br>agencylogoUrl  <br>  <br>agencyaddress1  <br>  <br>agencyaddress2  <br>  <br>agencyneighborhood  <br>  <br>agencycity  <br>  <br>agencyzipCode  <br>  <br>agencystate  <br>  <br>agencycountry  <br>  <br>agencyphonegeneral  <br>  <br>agencyphoneemergency  <br>  <br></th>\n<th><br>Id da Agência no Travellink  <br>  <br>Código do Backoffice (IdERP)  <br>  <br>Cnpj da Agência  <br>  <br>Nome Razão Social da Agência  <br>  <br>Nome Fantasia da Agência  <br>  <br>Logo da Agência (imagem)  <br>  <br>Endereço  <br>  <br>Complemento  <br>  <br>Bairro  <br>  <br>Cidade  <br>  <br>Cep  <br>  <br>Estado  <br>  <br>Pais  <br>  <br>Telefone  <br>  <br>Telefone contato emergencial.  <br>  <br></th>\n</tr>\n</thead>\n<tbody>\n</tbody>\n</table>\n</div><p><strong>Passo 4</strong><br>Opcional <strong>(O desenvolvedor pode usar o site JWT.IO para validar o IDtoken).</strong></p>\n<p><strong>Validação do Id_Token:</strong></p>\n<img src=\"https://content.pstmn.io/4a7826d8-6298-4e19-8048-80ee96db3d2a/Q2FwdHVyYSBkZSB0ZWxhIDIwMjMtMDctMjEgMTYxNzQwLmpwZw==\">\n\n<p><strong>Código de acesso do desenvolvedor</strong></p>\n<p>Link da documentação do openId: <a href=\"null\">https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth</a></p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Configurações Iniciais","slug":"configuracoes-iniciais"},{"content":"API Autenticação","slug":"api-autenticacao"}],"owner":"24548172","collectionId":"b478973c-df3b-4d91-9356-52d186d1222c","publishedId":"2s946k7rDV","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2023-07-21T20:10:26.000Z"},"item":[],"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"46a19c10-f0a5-4a9d-aae7-72712196dac6"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"29870c78-c82e-44c5-9771-879d91520b6c"}}],"variable":[{"key":"developer-token","value":"developer-token","type":"string"},{"key":"developer-access-code","value":"developer-access-code","type":"string"},{"key":"URL","value":"URL","type":"string"},{"key":"identifier","value":"Login","type":"string"},{"key":"password","value":"pass","type":"string"}]}