Pular para o conteúdo principal

Visão Geral

Nesta seção, mostraremos como conectar seu aplicativo ao Casdoor.

Como um Provedor de Serviço (SP), o Casdoor suporta dois protocolos de autenticação:

  • OAuth 2.0 (OIDC)
  • SAML

Como um Provedor de Identidade (IdP), o Casdoor suporta quatro protocolos de autenticação:

  • OAuth 2.0
  • OIDC
  • SAML
  • CAS 1.0, 2.0, 3.0

OAuth 2.0 (OIDC)

O que é OAuth 2.0?

OAuth 2 é uma estrutura de autorização que permite que aplicações—como Facebook, GitHub e Casdoor—obtenham acesso limitado a contas de usuários em um serviço HTTP. Ele funciona delegando a autenticação do usuário ao serviço que hospeda uma conta de usuário e autorizando aplicações de terceiros a acessar essa conta de usuário. OAuth 2 fornece fluxos de autorização para aplicações web e desktop, bem como dispositivos móveis.

O processo de autorização do Casdoor é construído sobre o protocolo OAuth 2.0. Recomendamos o uso do protocolo OAuth 2.0 pelas seguintes razões:

  1. O protocolo é simples e fácil de implementar, e pode resolver muitos cenários.
  2. Ele possui um alto nível de maturidade e amplo suporte da comunidade.

Portanto, sua aplicação se comunicará com o Casdoor via OAuth 2.0 (OIDC). Há três maneiras de se conectar ao Casdoor:

Cliente OIDC padrão

Cliente OIDC padrão: Use uma implementação de cliente OIDC padrão, que é amplamente fornecida em qualquer linguagem de programação ou framework.

O que é OIDC?

OpenID Connect (OIDC) é um protocolo de autenticação aberto que funciona em cima da estrutura OAuth 2.0. Voltado para consumidores, o OIDC permite que indivíduos usem o single sign-on (SSO) para acessar sites de terceiros usando Provedores de OpenID (OPs), como um provedor de e-mail ou rede social, para autenticar suas identidades. Ele fornece ao aplicativo ou serviço informações sobre o usuário, o contexto de sua autenticação e acesso às suas informações de perfil.

O Casdoor suporta totalmente o protocolo OIDC. Se sua aplicação já está usando outro provedor de identidade OAuth 2.0 (OIDC) através de uma biblioteca de cliente OIDC padrão, e você quer migrar para o Casdoor, usar a descoberta OIDC tornará muito fácil a mudança para o Casdoor.

SDKs Casdoor

SDKs Casdoor: Para a maioria das linguagens de programação, o Casdoor fornece bibliotecas SDK fáceis de usar em cima do OIDC, com funcionalidades estendidas que só estão disponíveis no Casdoor.

Comparado ao protocolo OIDC padrão, o SDK do Casdoor fornece mais funcionalidades, como gerenciamento de usuários e upload de recursos, entre outros. Conectar ao Casdoor via SDK Casdoor requer mais tempo do que usar uma biblioteca de cliente OIDC padrão, mas oferece a melhor flexibilidade e a API mais poderosa.

Plugin Casdoor

Plugin Casdoor: Se sua aplicação é construída em cima de uma plataforma popular (como Spring Boot, WordPress, etc.) e o Casdoor (ou um terceiro) já forneceu um plugin ou middleware para ela, você deve usá-lo. Usar um plugin é muito mais fácil do que invocar manualmente o SDK Casdoor porque o primeiro é feito especialmente para a plataforma.

Plugins:

Middleware:

SAML

O que é SAML?

Security Assertion Markup Language (SAML) é um padrão aberto que permite que provedores de identidade (IdP) transmitam credenciais de autorização para provedores de serviço (SP). O que esse jargão significa é que você pode usar um conjunto de credenciais para fazer login em muitos sites diferentes. É muito mais simples gerenciar um login por usuário do que gerenciar logins separados para e-mail, software de gerenciamento de relacionamento com o cliente (CRM), Active Directory, etc.

As transações SAML usam a Extensible Markup Language (XML) para comunicações padronizadas entre o provedor de identidade e os provedores de serviço. SAML é a ligação entre a autenticação da identidade de um usuário e a autorização para usar um serviço.

O Casdoor pode ser usado como um SAML IdP. Atualmente, o Casdoor suporta as principais funcionalidades do SAML 2.0. Para mais detalhes, veja SAML.

Exemplo:

Casdoor como um SAML IdP no Keycloak

Sugestões:

  1. O protocolo é poderoso e cobre muitos cenários, tornando-o um dos protocolos de SSO mais abrangentes.
  2. O protocolo é grande, com muitos parâmetros opcionais, por isso é difícil cobrir 100% de todos os cenários de aplicação na implementação real.
  3. Se a aplicação é recém desenvolvida, não é recomendado o uso de SAML devido à sua alta complexidade técnica.

CAS

O que é CAS?

O Central Authentication Service (CAS) é um protocolo de single sign-on para a web. Seu propósito é permitir que um usuário acesse múltiplas aplicações fornecendo suas credenciais (como ID de usuário e senha) apenas uma vez. Ele também permite que aplicações web autentiquem usuários sem obter acesso às credenciais de segurança do usuário, como uma senha.

O Casdoor implementou recursos do CAS 1.0, 2.0 e 3.0. Para mais detalhes, veja CAS.

Sugestões:

  1. O protocolo em si é relativamente leve e fácil de implementar, mas só pode resolver um único cenário.
  2. A confiança mútua entre o Cliente CAS e o Servidor CAS é estabelecida através da invocação de interface sem qualquer mecanismo de criptografia ou assinatura para garantir segurança adicional.
  3. O protocolo CAS não tem vantagem sobre outros protocolos.

Tabela de Integrações

Algumas aplicações já têm exemplos que se conectam ao Casdoor. Você pode seguir a documentação para se conectar rapidamente ao Casdoor. Você pode ver todas as aplicações na Tabela de Integrações.