Guia de Integração do Single Sign-On (SSO)

Este guia explica como configurar a integração de Single Sign-On (SSO) usando uma chave pública e dados do usuário criptografados.

Usar SSO permite que os usuários façam login de forma segura sem digitar suas senhas manualmente.

Como o SSO Funciona

O processo de SSO inclui o seguinte:

  1. Gerar uma chave pública para seu domínio

  2. Criptografar os detalhes do usuário usando a chave pública

  3. Gerar a URL do SSO usando o token criptografado

  4. Redirecionar o usuário para a URL gerada para login automático

Passo 1: Gerar uma Chave Pública

Antes de usar o SSO, você precisa gerar uma chave pública para seu domínio.

A chave pública é única para cada domínio e é usada para criptografar os dados do usuário de forma segura.

Para gerar uma chave:

  1. Navegue até a seção de configurações de SSO no painel

  2. Clique em Gerar Chave

  3. Insira os detalhes do seu domínio

  4. Salve a configuração.

Screenshot 2026-05-21 at 6.41.51 PM.pngScreenshot 2026-05-21 at 6.43.52 PM.png

Opções Adicionais de Gerenciamento de Chaves

Após gerar uma chave pública, você também pode gerenciar chaves existentes sempre que necessário.

Editar uma Chave Pública

Você pode atualizar os seguintes detalhes de uma chave existente:

  • Domínio

  • Status:

    • Ativa

    • Inativa

Nota: Apenas chaves ativas podem ser usadas para criptografia de SSO.


Excluir a Chave Gerada (UI)

As chaves podem ser excluídas se não forem mais necessárias. Uma vez excluídas, a criptografia usando essa chave não funcionará mais.


Screenshot 2026-05-21 at 6.45.05 PM.pngScreenshot 2026-05-21 at 6.45.21 PM.png

Opção A: Criptografar Dados Usando Código Personalizado (PHP)

Você pode gerar o token SSO criptografado diretamente do seu servidor usando sua chave pública.

Um script PHP de exemplo pode ser usado para:

  • Criptografar os dados usando a chave pública

  • Gerar um token seguro

Você também pode implementar a mesma lógica em outras linguagens de programação com base nos requisitos de sua aplicação.

<?php
$publicKey = "-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzpw15zd52NU5xFP1rS9r
AQDpjgpW5wMXXXXXXXXXXXXXXNdfXKz2J2/zxRv25igdDwALDemjjbnXP2IbS+Wefa3EH0D1xE
JQIDAQAB
-----END PUBLIC KEY-----";

$payload = [
    "name" => "QA subaccount",
    "email" => "[email protected]",
    "mobile" => "9198XXXXXXXX"
];

$publicKeyResource = openssl_pkey_get_public($publicKey);
if (!$publicKeyResource) {
    throw new Exception("Chave pública inválida");
}

$data = json_encode($payload);
$encrypted = '';
$result = openssl_public_encrypt($data, $encrypted, $publicKeyResource);

if (!$result) {
    throw new Exception("Falha na criptografia: " . openssl_error_string());
}

echo rtrim(strtr(base64_encode($encrypted), '+/', '-_'), '=');
?>

Teste Online: Você pode executar este script em https://www.programiz.com/php/online-compiler/

Passo 2: Gerar a URL Final do SSO

Após a criptografia, você receberá um token codificado em Base64 seguro para URL.

Use este token no seguinte formato de URL:

<BASEURL>/sso?token=<encrypted_data>

Exemplo

https://control.msg91.com/sso?token=xxxxxxxxxx

Substitua:

  • <encrypted_data> pelo token criptografado gerado

Uma vez que a URL é criada, redirecione o usuário para ela para login automático.

Notas Importantes

  • Certifique-se de que a data e hora do seu servidor estão corretas para evitar problemas de validação de token

  • Sempre use a chave pública ativa mais recente para a criptografia

  • Os tokens são sensíveis ao tempo, portanto, os usuários devem ser redirecionados imediatamente após a geração do token

  • Tokens gerados usando chaves excluídas ou inativas não funcionarão