O OpenID Connect (OIDC) é um protocolo de autenticação desenvolvido na estrutura OAuth 2.0. Ele permite que os desenvolvedores autentiquem usuários e obtenham informações básicas de perfil de maneira segura e padronizada. O OIDC usa tokens de ID para verificar a identidade dos usuários com base na autenticação realizada por um servidor de autorização, simplificando o processo de gerenciamento de identidades de usuários e aumentando a segurança das interações entre usuários e aplicativos.
O single sign-on (SSO) com OIDC para acesso ao Zendesk simplifica o processo de autenticação permitindo a conexão dos usuários por meio de um provedor de identidades (IdP) central como Google ou Okta, em vez de gerenciar credenciais de acesso separadas para o Zendesk.
Artigos relacionados:
Como funciona o SSO com OIDC no Zendesk
O SSO com OIDC permite que um usuário se autentique com um IdP usando um protocolo padrão. Uma vez autenticado, o IdP emite um token de ID que é usado para verificar a identidade do usuário e as permissões de acesso.
Etapas do processo de SSO do Zendesk usando o OIDC:
- Um usuário não autenticado acessa a URL de seu Zendesk Support. Por exemplo: https://seusubdominio.zendesk.com/.
- Dependendo do seu fluxo de trabalho de entrada, o usuário clica em um botão na página de entrada do Zendesk para entrar com SSO e, então, é direcionado para o seu IdP ou é redirecionado automaticamente para o seu IdP para entrar.
- Após a autenticação bem-sucedida o usuário, o IdP gera um token de ID que contém informações específicas desse usuário.
- O token é enviado de volta ao Zendesk, onde é validado em relação aos detalhes de configuração compartilhados entre o Zendesk e o IdP.
- Após a validação bem-sucedida, o Zendesk concede acesso ao usuário, utilizando a confiança estabelecida pelo IdP.
Considerações importantes
- Se você está tendo problemas para entrar no Zendesk usando o SSO com OIDC, o problema provavelmente está no seu provedor de identidade (IdP) e na configuração dele. É essencial entrar em contato com o administrador do sistema ou a equipe de TI para verificar a configuração e os requisitos do IdP.
- Não é possível usar o OIDC para autenticar usuários em mensagens.
- O Zendesk exige que todos os usuários tenham um endereço de e-mail associado ao próprio perfil, mas os usuários podem tentar entrar no sistema sem ter um endereço de e-mail. Nesse cenário, para evitar um loop em que a autenticação falha devido à ausência de um endereço de e-mail, o Zendesk exibirá uma mensagem de erro.
- Se você quiser usar o OIDC com o Entra, será necessário configurar alguns requisitos específicos.
- O modo de autenticação deve ser PKCE.
- Adicione a URL de retorno de chamada no formulário de configuração OIDC PKCE do Entra em Mobile and desktop applications - Redirect URIs.
Criação da configuração de SSO com OIDC
Os administradores podem ativar o single sign-on com OIDC apenas para usuários finais, apenas para membros da equipe (incluindo agentes light e colaboradores) ou para os dois grupos. É possível criar várias configurações de SSO com OIDC.
As informações necessárias para essa etapa devem vir do IdP que você utiliza, portanto, certifique-se de que seu IdP esteja configurado antes de começar. Talvez você precise obter as informações com a equipe de TI da sua empresa.
Como criar a configuração de SSO com OIDC no Zendesk
- Na Central de administração, clique em Conta na barra lateral e selecione Segurança > Single sign-on.
- Clique em Criar configuração de SSO e selecione OpenID Connect.
- Insira um Nome da configuração único.
- (Opcional) Em Intervalos de IP, insira uma lista de intervalos de IP se você deseja redirecionar os usuários à opção de acesso apropriada.
Os usuários que fazem solicitações dos intervalos de IP especificados são encaminhados ao formulário de acesso com autenticação com OIDC remota. Os usuários que fazem solicitações de endereços IP fora dos intervalos especificados são encaminhados ao formulário de acesso padrão do Zendesk. Não especifique um intervalo se quiser que todos os usuários sejam redirecionados ao formulário de acesso com autenticação remota.
- No campo ID do cliente, insira o ID do cliente fornecido a você pelo seu IdP.
- Insira o Segredo do cliente se o seu IdP exigir.
Como o segredo do cliente deve ser mantido em confidencialidade, você não verá o segredo completo novamente depois de salvar a configuração. Se você precisar mudar o segredo, edite essa configuração de SSO para inserir e salvar um novo segredo.
- No campo Escopos, liste todos os escopos que deseja solicitar do IdP. No mínimo, você deve adicionar
openid
eemail
. Os escopos são separados por espaços e sem vírgulas. Por exemplo:openid email phone
Os escopos com suporte do padrão OIDC incluem
openid
,profile
,email
,address
ephone
. Você também pode listar quaisquer escopos personalizados que tenham sido configurados no seu IdP.Os escopos não aceitos que o seu IdP rejeitar farão com que a entrada no sistema falhe com o erro
Unknown error during sign-in
. O Zendesk não valida nenhum dos escopos nesse campo. - Selecione Ativar a descoberta automática se quiser fornecer apenas a URL do emissor. Quando essa opção for ativada, o Zendesk extrairá automaticamente os detalhes da configuração do documento de configuração do OIDC. Você só precisa fornecer a URL do emissor e o modo de autenticação.
- Insira as URLs necessárias.
Verifique se o seu IdP exige um formato específico para as URLs que você está usando. Se as URLs estiverem formatadas incorretamente e forem rejeitadas pelo IdP, você poderá encontrar uma falha de acesso acompanhada pela mensagem de erro:
Unknown error during sign-in
. O Zendesk não valida as URLs nesses campos.- URL do emissor (também conhecido como identificador do emissor): um identificador exclusivo para o IdP que realiza a autenticação do usuário e entrega os tokens de ID.
- URL UserInfo: um ponto de extremidade fornecido pelo IdP que, quando acessado com um token de acesso válido, retorna atributos sobre o usuário autenticado.
- URL das JWKs: um ponto de extremidade fornecido pelo IdP que permite ao Zendesk recuperar as chaves públicas do provedor. Essas chaves são usadas para verificar a assinatura de tokens da web JSON (JWTs) que o IdP emite.
- URL de autorização: quando os usuários acessam esse URL, eles devem entrar no sistema e aceitar os escopos solicitados.
- URL do token de acesso (também conhecido como URL do ponto de extremidade do token): usado para trocar um código de autorização, um ID do cliente e um segredo do cliente por um token de acesso.
- Escolha um Modo de autenticação. O recomendado é PKCE.
- O uso do PKCE para obter o token de acesso é melhor para clientes públicos, como aplicativos móveis ou aplicativos web Javascript, pois ele usa chaves geradas dinamicamente para impedir a troca não autorizada de tokens sem a necessidade de um segredo do cliente.
- Escolha Fluxo do código de autorização se quiser que o token de acesso seja obtido de acordo com essa seleção. Esse método é melhor para aplicativos baseados em servidor com armazenamento de back-end seguro que dependem de um segredo do cliente para obter tokens.
- Selecione Mostrar botão quando os usuários entrarem se você permite que os usuários escolham como entrar e quiser que essa configuração seja uma opção que eles possam escolher. Se você selecionar essa opção, também precisará dar um nome ao botão que será exibido na página de entrada do Zendesk.
Desmarque essa caixa se os usuários só entram no sistema usando um provedor de identidades porque não usam a página de entrada do Zendesk.
- Clique em Salvar.
Por padrão, as configurações de SSO do Enterprise estão inativas. Você deve Atribuir o SSO com OIDC aos usuários para ativá-lo.
Atribuição de SSO com OIDC a usuários
Depois de criar a configuração de SSO com OIDC, atribua-a usuários finais, membros da equipe ou ambos para ativá-la.
Como atribuir uma configuração de SSO a membros da equipe ou usuários finais
- Abra as configurações de segurança para membros da equipe ou usuários finais.
- Na Central de administração, clique em Conta na barra lateral e selecione Segurança > Autenticação de membro da equipe.
- Na Central de administração, clique em Conta na barra lateral e selecione Segurança > Autenticação de usuário final.
- Selecione Autenticação externa para mostrar as opções de autenticação.
- Selecione os nomes das configurações de SSO que você deseja usar.
O single sign-on pode não atender a todos os casos de uso, então a autenticação do Zendesk permanece ativa por padrão.
- Selecione como você gostaria de permitir a entrada de usuários.
A opção Deixar que eles escolham permite que os usuários entrem usando qualquer método de autenticação ativo. Consulte Diferentes maneiras de permitir que usuários entrem no Zendesk.
A opção Redirecionar para o SSO apenas permite que usuários se autentiquem usando a configuração de SSO principal. Os usuários não veem opções adicionais de entrada, mesmo que essas opções de autenticação estejam ativas. Quando você seleciona Redirecionar para o SSO, o campo SSO principal aparece para que selecione a configuração de SSO principal.
- Clique em Salvar.
Gerenciamento de usuários no Zendesk após ativação de SSO com OIDC
Depois de ativar o single sign-on com OIDC no Zendesk, as alterações feitas em usuários fora do Zendesk não são sincronizadas automaticamente com sua conta do Zendesk. Os usuários são atualizados no Zendesk no ponto de autenticação. Por exemplo, se um usuário for adicionado ao seu sistema interno, ele será adicionado à sua conta quando entrar no Zendesk. Se um usuário for apagado do sistema interno, ele não poderá mais acessar o Zendesk. No entanto, a conta dele ainda existirá no Zendesk.
Por padrão, os únicos dados do usuário armazenados no Zendesk quando o single sign-on está ativado são o nome e o endereço de e-mail do usuário. O Zendesk não armazena senhas. Por isso, você deve desativar as notificações automáticas por e-mail do Zendesk sobre senhas.
Desativação de e-mails de notificação de senhas do Zendesk
Um perfil de usuário do Zendesk é criado para qualquer novo usuário que acesse sua conta do Zendesk por meio de single sign-on com SAML, JWT ou OpenID Connect (OIDC). Como os usuários são autenticados por meio de um IdP com uma senha que não é do Zendesk, o perfil é criado sem uma senha porque eles não precisam entrar diretamente no Zendesk.
Como os novos usuários que entram no Zendesk por meio de SSO são verificados com um IdP, eles não recebem notificações por e-mail para verificar suas respectivas contas. No entanto, ainda é recomendável desativar essas notificações por e-mail automatizadas para evitar que elas sejam enviadas caso o IdP não verifique o usuário com sucesso. No caso do SSO, a verificação do usuário deve sempre ocorrer por meio do IdP.
Como desativar e-mails de notificação de senha
- Na Central de administração, clique em Pessoas na barra lateral e selecione Configuração > Usuários finais.
- Na seção E-mails para a conta, desmarque a opção Também enviar um e-mail de boas-vindas quando um novo usuário é criado por um agente ou administrador.
- Desmarque a opção Permitir que os usuários alterem suas senhas.
Alternância de métodos de autenticação
se você utilizar um método de SSO de terceiros para criar e autenticar usuários no Zendesk e depois trocar para a autenticação do Zendesk, esses usuários não terão uma senha disponível para o acesso. Para que tenham acesso, peça que esses usuários redefinam suas próprias senhas na página de entrada do Zendesk.
Atributos com suporte do Zendesk
-
Atributos padrão são atributos predefinidos e amplamente aceitos, especificados pelo protocolo OIDC e que garantem uma compreensão uniforme da identidade do usuário em diferentes sistemas. O Zendesk oferece suporte aos seguintes atributos padrão:
sub
,email
,email_verified
elocale
. - Atributos personalizados são atributos adicionais que estendem o conjunto padrão para atender aos requisitos específicos do Zendesk. Você pode passar atributos personalizados nas chamadas de token de ID ou userinfo.
A tabela a seguir é uma lista completa de atributos padrão e personalizados com suporte do Zendesk.
Atributo | Descrição |
---|---|
name | O nome completo do usuário em formato exibível, incluindo todas as partes do nome, possivelmente incluindo cargos e sufixos, ordenados de acordo com a localidade e as preferências do usuário final. |
O endereço de e-mail principal do usuário. | |
email_verified | Verdadeiro se o endereço de e-mail do usuário for verificado; caso contrário, é falso. Quando esse valor de atributo é verdadeiro, significa que o provedor de OpenID tomou medidas afirmativas para garantir que esse endereço de e-mail era controlado pelo usuário no momento em que a verificação foi realizada. Quando você usa o SSO no Zendesk, é sua responsabilidade verificar os endereços de e-mail dos seus usuários. |
organization | Nome ou ID de uma organização à qual o usuário será adicionado. O atributo external_id de uma organização não possui suporte. Se a organização não existe no Zendesk, ele não será criado. Ainda assim, o usuário será criado, mas não será adicionado a nenhuma organização. |
organizations | Valores separados por vírgula, como org1 , org2 , org3 .
|
organization_id |
A ID externa da organização na API do Zendesk. Se tanto a organização quanto a organization_id forem fornecidas, a organização será ignorada. Por exemplo: Se você quiser transmitir diversas IDs de organizações ao mesmo tempo, use o atributo organization_ids. As IDs das organizações precisam ser transmitidas em uma cadeia de caracteres, separadas por vírgulas. |
organization_ids |
As IDs externas da organização na API do Zendesk. Use esse atributo ao passar várias IDs de organização ao mesmo tempo. Se tanto as organizações quanto as organization_ids forem fornecidas, as organizações serão ignoradas. Por exemplo: valores separados por vírgula, como |
phone | Um número de telefone, especificado em uma cadeia de caracteres. |
tags | Tags a serem definidas para o usuário. As tags substituirão todas as demais tags existentes no perfil do usuário. |
remote_photo_url | URL para uma foto a ser definida no perfil do usuário. |
locale (para agentes) locale_id (para usuários finais) |
A localidade no Zendesk, especificada como um número. Para obter a lista de números válidos, consulte Localidades nos documentos da API. |
zendesk_role | A função do usuário. Pode ser definida como end-user, agent ou admin. Se você não passar um zendesk_role, o Zendesk criará o usuário como um usuário final, a menos que ele já exista com outra função. |
custom_role_id | Aplicável apenas se o valor do atributo “role” acima for “agent”. Você pode obter os IDs das suas funções personalizadas com a API de funções personalizadas. |
external_id | Um ID de usuário do seu sistema, se seus usuários forem identificados por outros meios que não um endereço de e-mail ou se o endereço de e-mail deles estiver sujeito a alterações. Especificado como uma cadeia de caracteres. |
user_field_<key> | Um valor para o campo de usuário personalizado no Zendesk Support. Consulte Inclusão de campos personalizados aos usuários. <key> é a chave de campo atribuída ao campo do usuário personalizado no Zendesk Support. Por exemplo: user_field_employee_number onde employee_number é a chave de campo no Zendesk. Quando você envia um valor null ou uma cadeia de caracteres vazia no valor do atributo, o valor do campo personalizado definido no Zendesk Support é removido. |