Este post foi publicado inicialmente no meu blog. Confira a fonte original usando o link abaixo:
Autenticação e Autorização são cruciais para garantir a segurança de aplicações e dados. Três protocolos amplamente utilizados para gerenciar esses processos são OAuth, SAML e OpenID.
Ao usar aplicativos como Facebook, Google ou LinkedIn para fazer login em outros sites, você encontra alguns protocolos importantes: OAuth, SAML e OpenID Connect . Esses protocolos ajudam a manter suas informações seguras, permitindo que você acesse diversos serviços.
SAML é um padrão aberto para troca de dados de autenticação e autorização entre partes, especialmente entre um provedor de identidade (IdP) e um provedor de serviços (SP). Ele é usado principalmente para cenários de logon único (SSO), permitindo que os usuários se autentiquem uma vez e obtenham acesso a vários aplicativos.
Funções/Atores:
Usuário: O indivíduo que acessa os aplicativos.
Provedor de identidade (IdP): O serviço que autentica o usuário e fornece as declarações de identidade.
Provedor de serviços (SP): O aplicativo ou serviço que o usuário está tentando acessar.
Diagrama de fluxo de solicitação:
Logon único (SSO): Os usuários autenticam uma vez para vários serviços.
Baseado em XML: usa XML para mensagens, tornando-o robusto.
Asserções seguras: Transmite a identidade e os atributos do usuário com segurança.
OAuth é um padrão aberto para delegação de acesso comumente usado para autenticação e autorização baseadas em token. Ele permite que aplicativos de terceiros acessem os dados do usuário sem expor suas credenciais. OAuth é usado principalmente para autorização, permitindo que os usuários concedam acesso limitado aos seus recursos hospedados em um site para outro site.
Funções/Atores:
Proprietário do recurso: O usuário que possui os dados e concede acesso a eles.
Servidor de recursos: O servidor que hospeda os dados do usuário (por exemplo, Google, Facebook).
Cliente: o aplicativo de terceiros que solicita acesso aos dados do usuário.
Servidor de autorização: O servidor responsável por emitir tokens de acesso ao cliente após autenticar o proprietário do recurso.
Diagrama de fluxo de solicitação:
Acesso delegado: os usuários podem conceder acesso sem compartilhar credenciais.
Tokens de acesso: Tokens de curta duração que limitam a duração do acesso.
Escopos: Defina a extensão do acesso concedido ao cliente.
OpenID Connect é uma camada de autenticação construída sobre o OAuth 2.0. Ele adiciona verificação de identidade e fornece uma maneira para os clientes verificarem a identidade do usuário com base na autenticação realizada por um Servidor de Autorização.
Funções/Atores:
Usuário final: O usuário que deseja autenticar.
Cliente: O aplicativo que solicita autenticação do usuário.
Servidor de autorização: O servidor que autentica o usuário e emite tokens.
Diagrama de fluxo de solicitação:
Tokens de ID: JWTs que fornecem informações e declarações do usuário.
Integração perfeita com OAuth: Combina autenticação e autorização.
Endpoint de informações do usuário: Permite buscar informações adicionais do usuário.
Parecem semelhantes, mas ambos servem a propósitos diferentes, mas complementares:
OAuth: usado para autorização. Ele permite que aplicativos acessem recursos (como seu perfil ou fotos) de outro serviço (por exemplo, Facebook ou Google) sem precisar de sua senha. Use OAuth quando quiser conceder acesso limitado aos seus dados (por exemplo, um aplicativo de terceiros acessando sua agenda).
OpenID Connect (OIDC): construído sobre o OAuth, é usado para autenticação. Ele verifica sua identidade e permite que os aplicativos saibam quem você é. Use o OpenID Connect quando precisar fazer login em um site ou aplicativo usando um serviço como o Google, provando quem você é.
Usar OAuth:
Usar OpenID Connect:
Recurso | OAuth | SAML | Conexão OpenID |
---|---|---|---|
Propósito | Autorização | Autenticação | Autenticação e Autorização |
Formatar | JSON, token | XML | JSON |
Casos de uso | Acesso API, aplicativos móveis | Aplicativos da Web, SSO | Aplicativos web e móveis |
Complexidade | Moderado | Alto | Moderado |
Experiência do usuário | Redireciona para o IdP | Redireciona para o IdP | Redireciona para o servidor de autorização |
Compreender OAuth, SAML e OpenID Connect é essencial para criar aplicativos seguros que lidam com autenticação e autorização de usuários de maneira eficaz. Cada protocolo tem sua finalidade, garantindo que você possa acessar o que precisa enquanto mantém seus dados seguros.
OAuth 2.0 explicado de forma simples
O que é SAML?
Visão geral do OpenID Connect
Compreendendo as diferenças: OAuth, SAML e OpenID Connect
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3