O que é OIDC?
Saiba mais sobre o OpenID Connect (OIDC), um protocolo de autenticação que verifica as identidades dos usuários quando eles se conectam para acessar recursos digitais.
OpenID Connect (OIDC) definido
O OpenID Connect (OIDC) é um protocolo de autenticação de identidade que é uma extensão de autorização aberta (OAuth) 2.0 para padronizar o processo de autenticação e autorização de usuários quando eles se conectarem para acessar serviços digitais. O OIDC fornece autenticação, o que significa verificar se os usuários são quem dizem ser. O OAuth 2.0 autoriza quais sistemas esses usuários têm permissão para acessar. O OAuth 2.0 normalmente é usado para permitir que dois aplicativos não relacionados compartilhem informações sem comprometer os dados do usuário. Por exemplo, muitas pessoas usam seus emails ou contas de mídia social para entrar em um site de terceiros em vez de criar um novo nome de usuário e senha. O OIDC também é usado para fornecer logon único. As organizações podem usar um sistema de IAM (gerenciamento de identidades e acesso), como o Microsoft Entra ID (anteriormente Azure Active Directory) como o principal autenticador de identidades e, em seguida, usar o OIDC para passar essa autenticação para outros aplicativos. Dessa forma, os usuários só precisam entrar uma vez com um nome de usuário e senha para acessar vários aplicativos.
Principais componentes do OIDC
Há seis componentes principais no OIDC:
- Autenticação é o processo de verificar se o usuário é quem diz ser.
- Um cliente é o software, como site ou aplicativo, que solicita tokens usados para autenticar um usuário ou acessar um recurso.
- As terceiras partes confiáveis são os aplicativos que usam provedores OpenID para autenticar usuários.
- Os tokens de identidade contêm dados de identidade, incluindo o resultado do processo de autenticação, um identificador para o usuário e informações sobre como e quando o usuário é autenticado.
- Provedores OpenID são os aplicativos para os quais um usuário já tem uma conta. Sua função no OIDC é autenticar o usuário e passar essas informações para a terceira parte confiável.
- Os usuários são pessoas ou serviços que buscam acessar um aplicativo sem criar uma nova conta ou fornecer um nome de usuário e senha.
Como funciona a autenticação OIDC?
A autenticação OIDC funciona permitindo que os usuários se conectem a um aplicativo e recebam acesso a outro. Por exemplo, se um usuário quiser criar uma conta em um site de notícias, ele poderá ter a opção de usar o Facebook para criar sua conta em vez de criar uma nova conta. Se eles escolherem o Facebook, usarão a autenticação OIDC. O Facebook, que é um como provedor OpenID, manipula o processo de autenticação e obtém o consentimento do usuário para fornecer informações específicas, como um perfil de usuário, para o site de notícias, que é a terceira parte confiável.
Tokens de ID
O provedor OpenID usa tokens de ID para transmitir resultados de autenticação e quaisquer informações pertinentes à terceira parte confiável. Exemplos do tipo de dados enviados incluem uma ID, um endereço de email e um nome.
Escopos
Os escopos definem o que o usuário pode fazer com seu acesso. O OIDC fornece escopos padrão, que definem coisas como para qual terceira parte confiável o token foi gerado, quando o token foi gerado, quando o token expirará e a força de criptografia usada para autenticar o usuário.
Um processo de autenticação OIDC típico inclui as seguintes etapas:
- Um usuário vai para o aplicativo que deseja acessar (a terceira parte confiável).
- O usuário digita seu nome de usuário e senha.
- A terceira parte confiável envia uma solicitação ao provedor OpenID.
- O provedor OpenID valida as credenciais do usuário e obtém autorização.
- O provedor OpenID envia um token de identidade e, muitas vezes, um token de acesso para a terceira parte confiável.
- A terceira parte confiável envia o token de acesso para o dispositivo do usuário.
- O usuário recebe acesso com base nas informações fornecidas no token de acesso e na terceira parte confiável.
O que são fluxos do OIDC?
Os fluxos do OIDC definem como os tokens são solicitados e entregues à terceira parte confiável. Alguns exemplos são:
Fluxos de autorização OIDC: o provedor OpenID envia um código exclusivo para a terceira parte confiável. Em seguida, a terceira parte confiável envia o código exclusivo de volta para o provedor OpenID em troca do token. Esse método é usado para que o provedor OpenID possa verificar a terceira parte confiável antes de enviar o token. O navegador não pode ver o token nesse método, o que ajuda a mantê-lo seguro.
Fluxos de autorização OIDC com extensão PKCE: esse fluxo é igual ao fluxo de autorização do OIDC, exceto pelo fato de que ele usa uma extensão de chave pública para troca de código (PKCE) para enviar comunicações como um hash. Isso reduz as chances de que o token seja interceptado.
Credenciais do cliente: esse fluxo fornece acesso a APIs da Web usando a identidade do próprio aplicativo. Normalmente, ele é usado para comunicação de servidor para servidor e scripts automatizados que não exigem interação do usuário.
Código do dispositivo: esse fluxo permite aos usuários entrar e acessar APIs baseadas na Web em dispositivos conectados à Internet que não têm navegadores ou têm uma experiência de teclado ruim, como uma smart TV.
Fluxos adicionais, como o fluxo implícito do OIDC, projetado para aplicativos baseados em navegador, não são recomendados porque são um risco à segurança.
OIDC vs. OAuth 2.0
O OIDC foi criado com base no OAuth 2.0 para adicionar autenticação. O protocolo OAuth 2.0 foi desenvolvido primeiro e, em seguida, o OIDC foi adicionado para aprimorar seus recursos. A diferença entre os dois é que o OAuth 2.0 fornece autorização, enquanto o OIDC fornece autenticação. O OAuth 2.0 é o que permite que os usuários obtenham acesso a uma terceira parte confiável, usando sua conta com um provedor OpenID, e o OIDC é o que permite que o provedor OpenID passe um perfil de usuário para a terceira parte confiável. O OIDC também permite que as organizações ofereçam logon único aos usuários.
Benefícios da autenticação do OIDC
Ao reduzir o número de contas que os usuários precisam para acessar aplicativos, o OIDC oferece vários benefícios para indivíduos e organizações:
Reduz o risco de senhas roubadas
Quando as pessoas precisam usar várias senhas para acessar os aplicativos de que precisam para o trabalho e sua vida pessoal, elas geralmente selecionam senhas fáceis de memorizar, como Password1234!, e usam a mesma senha em várias contas. Isso aumenta o risco de um ator ruim adivinhar uma senha. E depois que eles souberem a senha para uma conta, eles também poderão acessar outras contas. Ao reduzir o número de senhas que alguém precisa memorizar, aumenta as chances de que ela use uma senha mais forte e segura.
Aprimora os controles de segurança
Ao centralizar a autenticação em um aplicativo, as organizações também podem proteger o acesso em vários aplicativos com controles de acesso fortes. O OIDC dá suporte à autenticação de dois fatores e multifator, que exigem que as pessoas verifiquem sua identidade usando pelo menos dois dos seguintes:
Algo que o usuário sabe, geralmente uma senha.
Algo que eles têm, como um dispositivo confiável ou token que não é facilmente duplicado.
Algum fator físico do usuário, como uma impressão digital ou uma leitura facial.
A autenticação multifator é um método comprovado para reduzir o comprometimento da conta. As organizações também podem usar o OIDC para aplicar outras medidas de segurança, como gerenciamento de acesso privilegiado, proteção por senha, segurança de logon ou proteção de identidade, em vários aplicativos.
Simplifica a experiência do usuário
Entrar em várias contas ao longo do dia pode ser demorado e frustrante para as pessoas. Além disso, se elas perderem ou esquecerem uma senha, redefini-la poderá interromper ainda mais a produtividade. As empresas que usam o OIDC para fornecer o logon único de seus funcionários ajudam a garantir que sua força de trabalho esteja gastando mais tempo em trabalho produtivo em vez de tentar obter acesso aos aplicativos. As organizações também tornam mais provável que os clientes se inscrevam e usem seus serviços se permitirem que as pessoas usem sua conta da Microsoft, do Facebook ou do Google para entrar.
Padroniza a autenticação
A OpenID Foundation, que inclui marcas de alto perfil, como Microsoft e Google, criou o OIDC. Ele foi projetado para ser interoperável e dá suporte a várias plataformas e bibliotecas, incluindo iOS, Android, Microsoft Windows e os principais provedores de nuvem e identidade.
Simplifica o gerenciamento de identidades
As organizações que usam o OIDC para fornecer logon único para seus funcionários e parceiros podem reduzir o número de soluções de gerenciamento de identidade que precisam gerenciar. Isso facilita o controle da alteração de permissões e permite que os administradores usem uma interface para aplicar políticas e regras de acesso em vários aplicativos. As empresas que usam o OIDC para permitir que as pessoas façam logon em seus aplicativos usando um provedor OpenID reduzem o número de identidades que precisam gerenciar.
Exemplos do OIDC e casos de uso
Muitas organizações usam o OIDC para habilitar a autenticação segura em aplicativos Web e móveis. Aqui estão alguns exemplos:
Quando um usuário se inscreve para uma conta no Spotify, ele recebe três opções: Inscrever-se com o Facebook, Inscrever-se com o Google, Inscrever-se com seu endereço de email. Os usuários que optam por se inscrever com o Facebook ou o Google estão usando o OIDC para criar uma conta. Eles serão redirecionados para qualquer provedor OpenID selecionado (Google ou Facebook) e, depois de entrar, o provedor OpenID enviará detalhes básicos do perfil do Spotify. O usuário não precisa criar uma nova conta para o Spotify e suas senhas permanecem protegidas.
O LinkedIn também fornece uma maneira para os usuários criarem uma conta usando sua conta do Google em vez de criar uma conta separada para o LinkedIn.
Uma empresa deseja fornecer logon único aos funcionários que precisam acessar o Microsoft Office 365, Salesforce, Box e Workday para fazer seu trabalho. Em vez de exigir que os funcionários criem uma conta separada para cada um desses aplicativos, a empresa usa o OIDC para fornecer acesso a todos os quatro. Os funcionários criam uma conta e sempre que se conectarem, eles obtêm acesso a todos os aplicativos necessários para o trabalho.
Implementar o OIDC para autenticação segura
O OIDC fornece um protocolo de autenticação para simplificar as experiências de entrada para os usuários e melhorar a segurança. É uma ótima solução para empresas que desejam incentivar os clientes a se inscreverem em seus serviços sem a dificuldade de gerenciar contas. Ele também capacita as organizações a oferecer aos funcionários e a outros usuários o logon único seguro para vários aplicativos. As organizações podem usar soluções de identidade e acesso que dão suporte a OIDC, como o Microsoft Entra, para gerenciar todas as suas identidades e políticas de segurança de autenticação em um único lugar.
Saiba mais sobre a Segurança da Microsoft
-
Microsoft Entra ID
Conecte com segurança funcionários, clientes e parceiros a seus aplicativos, dispositivos e dados com uma solução de gerenciamento de acesso e identidade na nuvem.
-
Microsoft Entra ID Governance
Garanta automaticamente que as pessoas certas tenham o acesso adequado aos aplicativos e serviços.
-
ID Verificada do Microsoft Entra
Forneça identidades descentralizadas com um serviço gerenciado de credenciais verificáveis baseado em padrões abertos.
-
ID de carga de trabalho do Microsoft Entra
Gerencie e proteja os identificadores concedidos a aplicativos e serviços.
-
Perguntas Frequentes
-
O OIDC é um protocolo de autenticação de identidade que funciona com o OAuth 2.0 para padronizar o processo de autenticação e autorização de usuários quando eles se conectarem para acessar serviços digitais. O OIDC fornece autenticação, o que significa verificar se os usuários são quem dizem ser. O OAuth 2.0 autoriza quais sistemas esses usuários têm permissão para acessar. O OIDC e o OAuth 2.0 normalmente são usados para permitir que dois aplicativos não relacionados compartilhem informações sem comprometer os dados do usuário.
-
O OIDC e SAML (security assertion markup language) são protocolos de autenticação de identidade que permitem aos usuários entrar com segurança uma vez e acessar vários aplicativos. O SAML é um protocolo mais antigo que foi amplamente adotado para logon único. Ele transmite dados usando o formato XML. O OIDC é um protocolo mais recente que usa o formato JSON para transmitir dados do usuário. O OIDC está ganhando popularidade porque é mais fácil de implementar do que o SAML e funciona melhor com aplicativos móveis.
-
O OIDC significa protocolo OpenID Connect, que é um protocolo de autenticação de identidade usado para permitir que dois aplicativos não relacionados compartilhem informações de perfil do usuário sem comprometer as credenciais do usuário.
-
O OIDC foi criado com base no OAuth 2.0 para adicionar autenticação. O protocolo OAuth 2.0 foi desenvolvido primeiro e, em seguida, o OIDC foi adicionado para aprimorar seus recursos. A diferença entre os dois é que o OAuth 2.0 fornece autorização, enquanto o OIDC fornece autenticação. O OAuth 2.0 é o que permite que os usuários obtenham acesso a uma terceira parte confiável, usando sua conta com um provedor OpenID, e o OIDC é o que permite que o provedor OpenID passe um perfil de usuário para a terceira parte confiável. Essa funcionalidade também permite que as organizações ofereçam logon único aos usuários. Os fluxos OAuth 2.0 e OIDC são semelhantes, exceto pelo uso de terminologia ligeiramente diferente.
Um fluxo OAuth 2.0 típico tem as seguintes etapas:
- Um usuário vai para o aplicativo que deseja acessar (o servidor de recursos).
- O servidor de recursos redireciona o usuário para o aplicativo em que ele tem uma conta (o cliente).
- O usuário entra usando suas credenciais para o cliente.
- O cliente valida o acesso do usuário.
- O cliente envia um token de acesso ao servidor de recursos.
- O servidor de recursos concede acesso ao usuário.
Um fluxo OIDC típico tem as seguintes etapas:
- Um usuário vai para o aplicativo que deseja acessar (a terceira parte confiável).
- O usuário digita seu nome de usuário e senha.
- A terceira parte confiável envia uma solicitação ao provedor OpenID.
- O provedor OpenID valida as credenciais do usuário e obtém autorização.
- O provedor OpenID envia um token de identidade e, muitas vezes, um token de acesso para a terceira parte confiável.
- A terceira parte confiável envia o token de acesso para o dispositivo do usuário.
- O usuário recebe acesso com base nas informações fornecidas no token de acesso e na terceira parte confiável.
-
O provedor OpenID usa tokens de ID para transmitir resultados de autenticação e quaisquer informações pertinentes para o aplicativo de terceira parte confiável. Exemplos do tipo de dados enviados incluem uma ID, um endereço de email e um nome.
Siga a Segurança da Microsoft