PRIMEIROS PASSOS
Autenticação
Uma credencial no backend. Uma sessão temporária no widget.
Três credenciais, três funções
Cada credencial tem uma finalidade. Nunca distribua as chaves de assinatura da plataforma.
| Credencial | Uso | Local |
|---|---|---|
| sik_ | Emitir sessões do widget | Ambiente privado do backend |
| tsk_ | Configuração administrativa do próprio tenant | Painel self-service |
| Credencial MCP | Autenticar chamadas ao seu conector | Configuração MCP e backend provedor |
Emissão no backend
POST /api/widget/sessions aceita userId, userEmail (email ou vazio), userRoles e plan. Derive esses valores da sessão e banco do seu aplicativo. Envie somente esses quatro campos.
# Somente no backend. Use variáveis do ambiente privado.
curl --fail-with-body \
https://support-ai.pontes.uk/api/widget/sessions \
-H "Authorization: Bearer $SUPPORT_INTEGRATION_CREDENTIAL" \
-H "Content-Type: application/json" \
-d '{"userId":"usr_exemplo","userEmail":"","userRoles":["member"],"plan":"standard"}' userId: 1–200 caracteres. Até 30 papéis de 1–80 caracteres. plan: 1–80 caracteres. userEmail: até 254 caracteres.
Sessão de 15 minutos
O emissor devolve tenantKey, jwt e expiresIn: 900. Confira o tenant esperado antes de devolver ao navegador. O adaptador de referência limita resposta, timeout e redirects.
{ "jwt": "<JWT>", "tenantKey": "ten_seu_projeto", "expiresIn": 900 }Identidade, renovação e revogação
Preserve um userId estável por pessoa e vínculo autorizado. Email, papel, dispositivo e timestamp não são boas chaves de identidade. Todas as operações da conversa exigem o mesmo tenant e proprietário.
Após 401, o SDK chama onTokenRefresh e repete uma vez. Destrua a instância antes de mudar pessoa, organização ou papel. O logout local não revoga imediatamente um JWT já copiado: ele pode durar até 15 minutos.
Substituir ou revogar sik_ invalida as sessões ligadas à credencial anterior na próxima chamada. Coordene a rotação. Assinaturas legadas com segredo compartilhado não são aceitas.