Planos que oferecem suporte ao logon único (SSO)
Profissional | Negócio | Empresa |
---|---|---|
O que é um JWT?
Um JSON Web Token (JWT) é um formato de token criptografado que transfere com segurança dados como credenciais (autenticação e autorização) entre dois aplicativos. JWT é usado especificamente para autenticar logons de leitor no Document360. Clique aqui para ler sobre o JWT.
SSO corporativo usando JWT
O Document360 usa uma abordagem semelhante ao PKCE (Proof Key for Code Exchange, um método OAuth seguro) para gerar o tokenJWT.
O diagrama de alto nível abaixo mostra como obter JWT fluxo de autenticação no Document360.
Etapas no fluxo de autenticaçãoJWT
Quando o usuário final tentar acessar a base de dados de conhecimento configurada com JWT, a base de dados de conhecimento do Document360 redirecionará o usuário final para o URL de logon que a conta da equipe configurou nas configurações do JWT do Document360.
Supondo que a URL de logon configurada resida dentro do aplicativo do cliente, o que exigirá autenticação.
Ao chamar o ponto de extremidade de logon no aplicativo do cliente, ele invocará a lógica de logon, que enviará uma solicitação com:
Detalhes do usuário
ID do cliente e segredo do cliente para a URL de geração de código do servidor de identidade para obter o código de autenticação
Esse processo é feito através do backchannel.
A URL de geração de código aceitará as solicitações POST com a carga JSON mostrada abaixo:
O ID do cliente e o segredo devem ser enviados como um cabeçalho de autorização básico.
Siga este link para descobrir como o cabeçalho precisa ser formado para autenticação básica.
Carga JSON
{
"username": "firstname + lastname",
"firstName": "firstname",
"lastName": "lastname",
"emailId": "user emailId",
"readerGroupIds": ["Obtain from Reader groups overview page in the Document360 portal (Optional)"],
"tokenValidity": 15 //minutes *()*
}
NOTA
Garanta a sintaxe JSON correta para evitar erros de configuração.
O servidor de identidade gerará o código com base nos detalhes do usuário, ID do cliente e segredo do cliente e retornará o código gerado para o aplicativo do cliente.
Isso é feito por meio do backchannel.
Depois que o aplicativo do cliente recebe o código de autenticação do servidor de identidade,
O aplicativo do cliente anexará o código à URL de retorno de chamada encontrada nas configurações doJWT e redirecionará o usuário para a URL de retorno de chamada com o código.
Por exemplo:
HTTPS://{project_name}.document360.io/jwt/authorize?code={code}
NOTA
O código de autenticação é um código de uso único e não pode ser reutilizado.
Depois que a base de dados de conhecimento receber o código de autenticação no parâmetro de consulta, ela enviará o código para o servidor de identidade via backchannel para o token de ID e o token de acesso.
Depois que a base de dados de conhecimento receber o token de ID, ela criará uma sessão em nome do usuário mencionado nos detalhes do usuário anteriores.
Por padrão, essa sessão será válida por 15 minutos. Quando o cookie de sessão expirar, o usuário final será redirecionado para a URL de login (hospedada no aplicativo do cliente) para obter um novo código e o fluxo será repetido.
A renovação da sessão será perfeita, pois o usuário já está autenticado no aplicativo do cliente
Validade do token
O valor mínimo que pode ser definido é de 5 minutos e o valor máximo que pode ser definido é de 1440 minutos (1 dia).
cacho
Para testar a configuração do JWT, você pode usar o comando cURL com as especificações a seguir. A versão HTTP deve ser especificada (HTTP2 sobre TLS e versão de SSL para TLS 1.2. Sem isso, o cURL falharia.
NOTA
Ao contrário de outras opções de IdP disponíveis (Okta, Azure AD etc.), o usuário não precisa de uma conta de leitor separada no Document360. Uma conta no aplicativo cliente é suficiente.
Depois de habilitar o logon JWT, o leitor pode usar o aplicativo cliente para fazer logon como uma conta de leitor no site da base de dados de conhecimento do Document360.
NOTA
Atualmente, o Document360 fornece uma funcionalidade ou para os padrões de SSO. Depois que o IdP é configurado usando um padrão SSO (SAML, OpenID ou JWT) para um projeto, o usuário não pode criar outra sessão simultânea.
Por exemplo. Se um projeto estiver configurado no padrão OpenID com o Okta como IdP, as opções SAML e JWT serão desativadas.
Configuração de SSO
Criando um JWT
Para criar um JSON Web Token (JWT),
Faça logon no portal do Document360.
Vá para Configurações ()> Usuários e segurança > JWT.
Crie um JWT (segredo do cliente) a partir daqui clicando no botão Criar JWT .
Copie o segredo do cliente gerado clicando no ícone de cópia e clicando em Fechar.
NOTA
O mesmo segredo do cliente gerado não estará disponível quando você revisitar esta seção. Se necessário, o segredo do cliente deve ser regenerado.
A página de configuração do JWT com todos os dados estará disponível agora.
Configuração JWT
Depois que um JWT for criado, a página de configuração do JWT ficará visível.
Configure seu aplicativo: Copie o ID do cliente, URL de retorno de chamada, URL de geração de código, Segredo do cliente e cole-o nos campos apropriados no aplicativo cliente
Status do JWT: ative ou desative o login do SSO JWT para leitores usando essa alternância. Se a alternância estiver desativada, os leitores não poderão fazer logon no site da base de conhecimento usando suas credenciais de aplicativo cliente.
Excluir JWT: Clique no botão Excluir para remover o JWT configurado. Não é possível desfazer essa ação.
Configuração básica do JWT: cole a URL de login obtida do aplicativo do cliente.
Os leitores serão direcionados para a página de logout dedicada para leitores de SSO do JWT se um link de logout personalizado não for fornecido.
Redirecionamento para outras páginas em vez da página inicial
Por padrão, após o login, os usuários são redirecionados para a página inicial da sua base de dados de conhecimento.
Se sua página inicial não for publicada, os usuários serão redirecionados para a página /docs .
Para redirecionar os usuários para uma página diferente em sua base de dados de conhecimento (diferente das páginas Home ou /docs ), configure o redirecionamento durante a instalação do JWT usando o código a seguir.
Padrão de URL
https://<Knowledge base URL>/jwt/authorize?code=<code>&redirectUrl=<redirect path>
Parâmetros
URL da base de conhecimento: a URL principal do seu site da base de conhecimento.
Código: a ID do cliente.
URL de redirecionamento: o novo URL para o qual você deseja que os usuários acessem após o login.
Exemplo
https://example.document360.io/jwt/authorize?code=FOTaS_SW6dLGytQXvrG_rRFGhyPvrDDrgxJAZzYvJcY&redirectUrl=/docs/5-basic-things-to-get-started
NOTA
O Document360 enviará a URL de redirecionamento para
RedirectPath
o ponto de extremidade de login. Quando o ponto de extremidade de logon redireciona de volta para a base de dados de conhecimento com o código de autenticação, ele deve retornar a URL de redirecionamento como umRedirectUrl
parâmetro.
Solucionando problemas
Se você encontrar problemas durante a configuração do SSO do JWT, consulte o seguinte erro comum e sua solução:
401-erro não autorizado ao testar JWT no Postman
Erro: 401 Erro não autorizado
Se você encontrar um erro 401 Unauthorized ao testar JWT (JSON Web Token) usando o Postman, isso geralmente ocorre porque as configurações de autorização não estão configuradas corretamente.
Etapas para resolver:
Para resolver esse erro,
No Postman, abra a solicitação que você está testando.
Navegue até a guia Autorização .
Defina o tipo de autorização como Autenticação Básica.
No campo Nome de usuário , insira o ID do cliente.
No campo Senha , insira o Segredo do Cliente.
Vá para a guia Corpo .
Selecione a opção raw na lista suspensa e verifique se o formato está definido como JSON.
Adicione a carga JSON necessária para a solicitação de API.
Clique em Enviar para executar a solicitação.
Verifique a resposta para os resultados esperados. Se a solicitação for bem-sucedida, você deverá receber um código de autenticação ou token na resposta.
Perguntas frequentes
Posso usar um único logon JWT para oferecer suporte a várias instâncias do meu aplicativo no mesmo site da base de dados de conhecimento do Document360?
Não, atualmente, o Document360 oferece suporte a uma única configuração de login JWT por projeto.
Um logon JWT comum não pode ser compartilhado entre várias instâncias do aplicativo para a mesma base de dados de conhecimento do Document360.
Cada projeto só pode autenticar uma instância do aplicativo JWT por vez.
Se um usuário JWT configurado fizer logout do aplicativo cliente, isso significa que ele também será desconectado do Document360?
Não, a sessão no Document360 é independente após o Single Sign-On inicial. Os usuários podem continuar usando o Document360 até que a validade do token expire, mesmo depois de fazer logout do aplicativo cliente.
Exemplo: Se a validade do token for definida como 1 dia, a sessão do Document360 permanecerá ativa até que o token expire. Quando isso acontecer, o usuário será desconectado.
Quais são as faixas mínimas e máximas de validade do token?
O valor mínimo que pode ser definido é de 5 minutos e o valor máximo que pode ser definido é de 1440 minutos (1 dia).
Posso fornecer um valor que exceda a faixa de validade de token permitida?
Não, se um valor fora do intervalo for fornecido, o sistema atribuirá automaticamente o valor permitido mais próximo:
5 minutos para valores abaixo do mínimo.
1440 minutos para valores acima do máximo.
Qual é a diferença entre JWT e SSO?
Você pode ver uma comparação entre JWT (JSON Web Token) e SSO (Single Sign-On) na tabela abaixo:
Aspecto | JWT | SSO |
---|---|---|
Autenticação | Tokens gerados por sessão/solicitação do usuário. | Autenticação centralizada em todos os aplicativos. |
Expiração do token | Os tokens normalmente expiram após um período definido. | Nenhum token, sessão manipulada pelo provedor de identidade. |
Segurança | Requer armazenamento seguro de tokens. | Armazenamento de credenciais mais seguro e centralizado. |
Uso | Usado para autenticação sem estado e de uso único. | Usado para vários aplicativos com login único. |
Integração | Mais fácil de implementar em aplicativos personalizados. | Requer integração com um provedor de identidade. |
Os leitores podem fazer login com OpenID ou SAML se o JWT estiver configurado para o projeto?
Não, os leitores não podem fazer login com OpenID ou SAML se o JWT estiver configurado para o projeto. O Document360 permite que apenas um padrão SSO (JWT, OpenID ou SAML) esteja ativo por projeto por vez.
Quais recursos não são suportados quando o JWT é configurado para o projeto?
As seguintes funções não são suportadas quando o JWT é configurado para o projeto:
Configurações avançadas: Registre automaticamente o SSO e ignore a página de entrada comum do Document360.
Leitores: Auto-registro.