--- title: "Gerencie a Autenticação do Usuário" slug: "manage-user-authentication" updated: 2026-06-18T15:07:14Z published: 2026-06-18T15:07:14Z canonical: "docs.xtremepush.com/manage-user-authentication" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.xtremepush.com/llms.txt > Use this file to discover all available pages before exploring further. # Gerencie a Autenticação do Usuário Proteja o widget de fidelidade usando tokens assinados para verificar a identidade do usuário. O widget de Lealdade usa um JSON Web Token assinado com um par de chaves RS256 para verificar os usuários. Seu backend assina um token usando uma chave privada e uma chave pública correspondente o valida. Isso garante que apenas usuários autorizados possam acessar o widget de fidelidade. ## Enviar a Chave Pública Gerar um par de chaves públicas e privadas RSA. Para enviar a chave pública, vá até a aba **Autenticação** no Hall de Fidelidade e faça o seguinte: 1. Clique **na tecla Adicionar** 2. Insira uma descrição 3. Cole sua chave pública e ative a opção de ativar 4. Clique **na tecla Adicionar** A chave pública é usada para verificar a autenticidade de cada token enviado pela sua aplicação. > [!NOTE] > Gerando um par de chaves RSA > > O exemplo a seguir mostra como gerar seu par de chaves públicas e privadas RSA usando OpenSSL: > > > > 1. Gerar a chave privada > > ```shell > openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out private.key > ``` > 2. Extrair a chave pública > > ```shell > openssl pkey -in private.key -pubout -out public.key > ``` ## Token e Carga Útil JWT Cada solicitação feita pelo widget de fidelidade deve incluir um JWT assinado para identificar o usuário e confirmar que sua sessão é válida. O JWT deve ser gerado no seu servidor seguro de backend usando sua Chave Privada. Uma vez gerado, seu backend deve passar o token para o front-end, que então o fornece para o Xtremepush SDK. - Cabeçalho: O cabeçalho define o algoritmo e o tipo de token. - **alg**: Isso deve ser definido para **RS256**. - **typ**: Isso deve ser configurado para **JWT**. - **kid** (opcional): Identifica qual chave pública usar para verificar o token. Se você tiver várias chaves públicas carregadas, isso evita verificar o token com todas as chaves e corresponde diretamente à correta. Essa opção é recomendada para ambientes de produção onde você pode rotacionar as chaves ao longo do tempo. - Carga útil: A carga útil contém os dados específicos do usuário necessários para a sessão. - **sub**(required): Isso representa o **ID de usuário** do seu usuário, que é registrado na aba **Perfis de Usuário** no **Gerenciador de Dados**. - **exp** (obrigatório): Especifica o tempo de expiração do token como um carimbo de tempo Unix em segundos. Esse valor determina quanto tempo a sessão é válida. ### Exemplo de Estrutura JWT (Padrão) ```json {  "alg": "RS256",  "typ": "JWT" } {  "sub": "user_88421",  "exp": 1741436048 } ``` ### Exemplo de Estrutura JWT com ID de Chave ```json {  "alg": "RS256",  "typ": "JWT",  "kid": "primary" } {  "sub": "user_88421",  "exp": 1741436048 } ``` > [!TIP] > Melhores Práticas de Segurança > > > > - Chave privada: Nunca codifique ou exponha sua chave privada em código frontend, aplicativos móveis ou controle de versão. A chave privada concede acesso para gerar tokens para qualquer usuário. Sempre gere tokens no seu servidor seguro de back-end. > - Rotação de chaves: Faça upload de múltiplas chaves públicas na aba **Autenticação** para suportar a rotação de chaves. Use o `kid` campo de cabeçalho para identificar qual chave assinou cada token. > - Vencimento do token: Defina tempos de expiração apropriados e implemente lógica de atualização de token para evitar interrupções de sessão. > - Testes: Use uma ferramenta JWT para decodificar e verificar tokens de teste durante o desenvolvimento. Cole sua chave pública na seção de verificação para validar assinaturas. ## Mapeamento de Perfis de Usuário Quando seu usuário abre o widget de fidelidade, a plataforma usa o **ID de usuário** do token para identificar seu perfil. Esse perfil é então adicionado à aba **Todos os Usuários** dentro do Hub de fidelidade com o mesmo ID de usuário. Para completar esse mapeamento, você deve finalizar a configuração do SDK. A configuração do SDK é necessária para carregar o widget e passar o token. > [!NOTE] > Os usuários só são mapeados para a aba Todos os Usuários depois que você disponibiliza seu widget publicamente.