Criando e gerenciando clientes OAuth
O OAuth é um protocolo de segurança padrão para autorização e delegação. Ele permite que aplicativos de terceiros acessem recursos da API sem revelar as credenciais do usuário final. Um cliente OAuth pode obter um código de autorização e trocá-lo por um token de acesso que pode ser usado para acessar conteúdo do Qlik Cloud por meio de APIs.
Clientes públicos e confidenciais
O OAuth tem dois tipos de cliente - clientes públicos e clientes confidenciais - para proteger a autorização entre um aplicativo (o cliente) e o servidor de autorização (Qlik Cloud).
Clientes públicos
Clientes públicos são aplicativos que não usam o segredo do cliente porque não podem manter a confidencialidade das credenciais necessárias. Os clientes públicos no Qlik Cloud geralmente são aplicativos de front-end, como aplicativos de página única com análises incorporadas ou uma extensão de visualização personalizada no Qlik Sense que exigem informações sobre o usuário final para dar suporte ao ciclo de vida do aplicativo.
Consulte : RFC 6749 Seção 2.1: Tipos de cliente OAuth 2.0.
O Qlik Cloud oferece suporte a clientes confidenciais para aplicativos da Web tradicionais (do lado do servidor) e clientes públicos para aplicativos nativos e de página única usando tipos de concessão específicos.
Clientes confidenciais
Um cliente confidencial é um aplicativo que mantém um ID de cliente e um segredo de cliente de maneira segura, sem expô-los a terceiros não autorizados. Clientes confidenciais podem ter acesso a recursos protegidos porque estão de posse do segredo do cliente. Um exemplo de cliente confidencial é um aplicativo da Web com um back-end seguro interagindo com APIs do Qlik Cloud para orquestrar tarefas de atualização de dados ou gerenciar o acesso do usuário ao conteúdo.
Tipos de concessão de autorização
O Qlik oferece suporte a dois tipos ou fluxos de concessão de autorização: Fluxo de código de autorização e Fluxo de código de autorização com chave de prova para troca de código (PKCE). Esses fluxos são muito semelhantes, mas suportam diferentes casos de uso.
Fluxo de código de autorização
Aplicativos da Web tradicionais são aplicativos do lado do servidor em que o código fonte não é exposto publicamente, portanto, eles podem usar o fluxo do código de autorização, que troca um código de autorização por um token. Aplicativos da Web que usam esse fluxo devem ser do lado do servidor porque o segredo do cliente do aplicativo é passado para o servidor de autorização durante a troca por um token.
Consulte: Fluxo de código de autorização para obter mais detalhes.
Fluxo de código de autorização com chave de prova para troca de código (PKCE)
Os aplicativos nativos e de página única não podem armazenar um segredo do cliente porque seu código fonte pode ser acessado por meio da descompilação do aplicativo ou da exibição da fonte do aplicativo por meio de um navegador, respectivamente. O PKCE adiciona uma camada adicional de proteção em clientes públicos, exigindo o uso de um verificador de código para obter um token de acesso.
Consulte: Fluxo de código de autorização com chave de prova para troca de código (PKCE) para obter mais detalhes.
Limitando escopos disponíveis para clientes OAuth
Os escopos OAuth fornecem uma maneira de limitar a quantidade de acesso concedido aos aplicativos cliente OAuth. Por exemplo, um token de acesso emitido para um aplicativo cliente pode receber acesso total a recursos protegidos ou apenas acesso de leitura.
No Qlik Cloud, os escopos fornecem uma maneira de controlar o acesso do cliente às funcionalidades e recursos disponíveis. Cada escopo concede um nível diferente de acesso. Clientes sem escopos não poderão acessar nenhum recurso.
Criando um cliente OAuth
Os clientes OAuth são administrados por administradores de locatários na página OAuth do centro de atividades de Administração.
Com um cliente OAuth, você pode integrar seu aplicativo cliente com o Qlik Cloud.
Para saber como criar um cliente OAuth para implementação e instalação do suplemento Qlik para o Microsoft Excel, consulte Criando um cliente OAuth par a o suplemento Qlik para o Microsoft Excel.
Faça o seguinte:
-
No centro de atividades de Administração, acesse OAuth.
-
Clique em Criar novo.
-
Selecione um tipo de cliente.
Use Web para clientes confidenciais e Aplicativo de página única ou Nativo para clientes públicos.
-
No diálogo, atribua um nome ao cliente OAuth.
-
Como opção, adicione uma descrição.
-
Selecione qualquer um dos escopos disponíveis, rolando ou usando o campo de pesquisa.
Escopo Permissão user_default Acesso total à sua conta e conteúdo admin_classic Acesso total de administrador ao seu locatário
Consulte também: Implementando e administrando Qlik Cloud
Nota informativaNão compatível com os tipos de cliente Aplicativo de página única e Nativo.admin.apps Ler e gerenciar todos os aplicativos no locatário.
Consulte também: Gerenciando aplicativos
admin.apps:export
Exportar todos os aplicativos no locatário
Consulte também: Exportando aplicativos
admin.apps:read
Ler todos os aplicativos no locatário admin.automations Ler e gerenciar todas as automações no locatário
Consulte também: Gerenciando automações
admin.automations:read
Ler todas as automações no locatário admin.spaces Ler e gerenciar todos os espaços no locatário
Consulte também: Gerenciando espaços
admin.spaces:read
Ler todos os espaços no locatário aplicativos Ler e gerenciar seus aplicativos
Consulte também: Gerenciando aplicativos
apps:export
Exportar seus aplicativos
Consulte também: Exportando aplicativos
apps:read
Ler seus aplicativos automations Ler e gerenciar suas automações
Consulte também: Gerenciando automações
automations:read
Ler suas automações automl-experiments Ler e gerenciar seus experimentos de ML automl-deployments Ler e gerenciar suas implementações de ML identity.email:read Ler seu endereço de e-mail
Consulte também: Provedores de identidade no Qlik Cloud
identity.name:read
Ler seu nome completo identity.picture:read Ler sua foto de perfil
Consulte também: Provedores de identidade no Qlik Cloud
identity.subject:read
Ler seu identificador de assunto do usuário spaces.data Ler e gerenciar seus espaços de dados
Consulte também: Gerenciando espaços
spaces.data:read
Ler seus espaços de dados spaces.managed Ler e gerenciar seus espaços gerenciados
Consulte também: Gerenciando espaços
spaces.managed:read
Ler seus espaços gerenciados spaces.shared Ler e gerenciar seus espaços compartilhados
Consulte também: Gerenciando espaços
spaces.shared:read
Ler seus espaços compartilhados offline_access Acesse recursos enquanto estiver offline
Nota informativaNão compatível com o tipo de cliente Aplicativo de página única.Nota informativaVocê pode usar os botões Todos e Selecionados acima da lista para mostrar todos os escopos ou apenas os escopos selecionados.Nota informativaA lista acima reflete os escopos aceitos na versão inicial. Uma lista completa de escopos – incluindo quaisquer escopos adicionados após o lançamento inicial – pode ser encontrada no Portal do Desenvolvedor Qlik. -
Insira uma ou mais URLs de redirecionamento para o aplicativo cliente OAuth.
Nota de dicaA URL de redirecionamento é para onde o servidor de autorização envia o navegador do usuário após autenticar e conceder permissão com sucesso ao aplicativo cliente. Por exemplo, https://www.exampleapp.com/oauth/callback, onde /oauth/callback lida com retornos de chamada de autenticação do provedor OAuth.O Qlik Cloud irá redirecionar o usuário de volta ao aplicativo após uma autorização bem-sucedida apenas se sua URL estiver na lista de permissões de URLs de redirecionamento. As URLs devem começar com https://, a menos que o domínio seja localhost. Nesse caso, pode começar com http://. Aplicativos nativos também podem usar o formato de link específico do aplicativo, por exemplo, exampleapp://.
Clique em Adicionar para adicionar a URL de redirecionamento à lista de permissões.
-
Para o tipo de cliente Web ou aplicativo de página única, especifique uma ou mais origens permitidas. O acesso ao aplicativo só será concedido se a URL for adicionada à lista de origens permitidas.
-
Para o tipo de cliente Web, você pode ativar Permitir máquina a máquina (M2M) ou Permitir representação de usuário M2M para acesso automatizado ao sistema sem interação do usuário. A representação M2M permite que seu aplicativo atue em nome dos usuários durante a autenticação.
-
Clique em Criar.
-
Clique em Copiar para a área de transferência para salvar o ID do cliente e o segredo do cliente para uso posterior. Guarde o segredo do cliente em um local seguro. Clique em Concluído.
Nota informativaOs clientes públicos não terão nenhum segredo do cliente.
Criando um cliente OAuth par a o suplemento Qlik para o Microsoft Excel
Uma configuração do cliente OAuth for necessária para instalar o suplemento Qlik para Microsoft Excel. O suplemento é usado por desenvolvedores de relatórios para preparar modelos de relatório que controlam a saída de relatórios tabulares do aplicativo Qlik Sense.
Para que o OAuth funcione no suplemento, o cliente OAuth precisa ser configurado com a configuração exata mostrada abaixo.
Faça o seguinte:
-
No centro de atividades de Administração, em Qlik Cloud, acesse OAuth.
-
Clique em Criar novo.
-
No menu suspenso Tipo de cliente, selecione Aplicativo de página única. Mais campos aparecerão.
-
Insira um Nome. A Descrição é opcional.
-
No mínimo, marque a caixa de seleção para incluir o escopo user_default. Você pode incluir outros escopos na configuração, mas sem o user_default, a instalação não funcionará.
Consulte Criando um cliente OAuth para obter uma descrição completa de cada escopo disponível.
-
No campo Adicionar URLs de redirecionamento, insira a URL do seu locatário, seguida da string fixa: /office-add-ins/oAuthLoginSuccess.html
O resultado deve ficar assim: https://YourServer/office-add-ins/oAuthLoginSuccess.html
-
Clique em Adicionar.
-
No campo Adicionar origens permitidas, insira o URL do seu locatário e clique em Adicionar.
-
Clique em Criar.
-
A janela Copiar sua ID de cliente é exibida. Você pode optar por copiar o ID do cliente para a área de transferência ou clicar em Concluído para fechar a janela.
Depois de criar o cliente OAuth, obtenha o link para o arquivo de manifesto XML atualizado no centro de atividades de Administração. Vá para a página Configurações e navegue até Compartilhamento e relatórios > Suplemento do Excel no centro de atividades de Administração . Use este link para implantar e instalar o suplemento.
Para obter mais informações sobre como gerar o arquivo de manifesto, bem como implementar e instalar um suplemento, consulte:
-
Implementando e instalando o suplemento Qlik para o Microsoft Excel
-
Gerenciando manifestos de instalação para o complemento Qlik do Microsoft Excel
Criando um cliente OAuth para incorporações anônimas do conteúdo do aplicativo
Para incorporar conteúdo do aplicativo para acesso anônimo usando qlik-embed, você precisa criar um cliente OAuth com um tipo projetado especificamente para esse caso de uso.
Faça o seguinte:
-
No Administração de Administration, vá para a seção OAuth.
-
Clique em Criar novo.
-
No menu suspenso Tipo de cliente, selecione Incorporação anônima.
-
Insira um Nome e, opcionalmente, uma Descrição para o cliente OAuth.
-
Em Origens permitidas, insira cada origem que você precisa autorizar. Esses são os domínios que acessarão o locatário do Qlik Cloud para recuperar as informações para a análise incorporada.
Clique em Adicionar depois de inserir cada URL.
-
Quando terminar, clique em Criar.
-
Clique em Copiar para a área de transferência para salvar o ID do cliente para uso posterior. Ele será necessário quando o conteúdo do aplicativo for incorporado com qlik-embed.
-
Clique em Concluído.
Editando um cliente OAuth
Você pode renomear um cliente OAuth, atualizar a descrição ou gerenciar as URLs de redirecionamento.
Faça o seguinte:
- No centro de atividades de Administração, acesse OAuth.
- Selecione o cliente OAuth que você deseja editar. Clique em ... e selecione Editar.
- No diálogo, altere as opções do cliente OAuth conforme necessário.
- Clique em Salvar.
Publicando um cliente OAuth
Os clientes OAuth criados são automaticamente vinculados ao locatário que o criou. Você pode configurar um cliente OAuth para ser compartilhado e disponibilizado para todos os outros locatários em uma região. Aplicativos de terceiros que se conectam ao Qlik Cloud podem ter o mesmo ID de cliente para todos os locatários do Qlik Cloud. O proprietário do aplicativo pode alternar segredos e atualizar a configuração sem a interação de um administrador de locatários. Os administradores de locatários não precisarão gerenciar credenciais ou conhecer detalhes de configuração.
Para permitir que outros locatários se conectem a um cliente OAuth, este precisa ser publicado.
Faça o seguinte:
- No centro de atividades de Administração, acesse OAuth.
- Selecione o cliente OAuth que você deseja publicar. Clique em ... e selecione Publicar.
- Clique em Publicar.
Quando um usuário navega para um site externo que usa o Qlik OAuth, ele é solicitado a fornecer o nome de host de locatário e, posteriormente, também as credenciais de usuário, a menos que ele já tenha um sessão ativa do SaaS. O primeiro login com um cliente OAuth externo requer o consentimento de um administrador de locatário. Quando aprovado, o novo cliente OAuth é mostrado no centro de atividades de Administração.
Método de consentimento
Você tem duas opções de consentimento: obrigatório e confiável. Com Obrigatório, a autorização usando o cliente OAuth solicitará o consentimento sempre que um novo escopo for solicitado para o usuário. Com .Confiável, o usuário não precisa dar seu consentimento. Você só pode usar Confiável para clientes que não são publicados. Para clientes publicados, o método de consentimento é sempre Obrigatório.
Como visualizar e copiar a configuração OAuth
Na seção OAuth do centro de atividades de Administração, selecione Exibir configuração do OAuth para exibir a configuração como um trecho de código e uma URL a ser copiada.
Excluindo um cliente OAuth
Você pode excluir um cliente OAuth quando ele não for mais necessário ou para revogar o acesso.
Faça o seguinte:
-
No centro de atividades de Administração, acesse OAuth.
-
Selecione o cliente OAuth que você deseja remover e clique em Excluir.
Nota informativaVocê pode remover mais de um cliente OAuth por vez. - Confirme que você deseja excluir o cliente OAuth.
Gerenciando segredos do cliente
Pode ser necessário adicionar ou remover um segredo do cliente se, por exemplo, um segredo do cliente for comprometido ou sua política de segurança exigir que você atualize periodicamente o segredo do cliente. Você também pode adicionar vários segredos do cliente para evitar tempo de inatividade no aplicativo. Por exemplo, você pode criar um segundo segredo, implementar o novo segredo no seu aplicativo cliente e, em seguida, excluir o segredo antigo.
Faça o seguinte:
- No centro de atividades de Administração, acesse OAuth.
- Selecione o cliente OAuth que você deseja gerenciar. Clique em ... e selecione Gerenciar segredos.
- No diálogo, siga um destes procedimentos:
- Para adicionar um novo segredo do cliente, clique em Gerar um novo segredo do cliente.
- Para remover um segredo de cliente, clique em ao lado do segredo do cliente.
- Clique em Fechar.
Criar um aplicativo cliente OAuth para acessar o Qlik Cloud
Depois de registrar um cliente OAuth no Qlik Cloud, você pode usar o ID do cliente e o segredo do cliente associados em seu próprio aplicativo cliente OAuth. Tutoriais estão disponíveis na seção Bibliotecas OAuth do portal do Developer para construir aplicativos cliente usando algumas das linguagens de codificação mais populares.